Generated by Cython 0.29.21
Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.
Raw output: model_cy.c
0001: # cython: profile=True
+0002: import numpy as np
__pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0003: import pandas as pd
__pyx_t_1 = __Pyx_Import(__pyx_n_s_pandas, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_pd, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0004: import collections as cl
__pyx_t_1 = __Pyx_Import(__pyx_n_s_collections, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_cl, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0005: import sys
__pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 5, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0006: import calendar
__pyx_t_1 = __Pyx_Import(__pyx_n_s_calendar, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_calendar, __pyx_t_1) < 0) __PYX_ERR(0, 6, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0007: import json
__pyx_t_1 = __Pyx_Import(__pyx_n_s_json, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_json, __pyx_t_1) < 0) __PYX_ERR(0, 7, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0008: import matplotlib.pyplot as plt
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s__83); __Pyx_GIVEREF(__pyx_n_s__83); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__83); __pyx_t_2 = __Pyx_Import(__pyx_n_s_matplotlib_pyplot, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (PyDict_SetItem(__pyx_d, __pyx_n_s_plt, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0009: from datetime import datetime
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s_datetime); __Pyx_GIVEREF(__pyx_n_s_datetime); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_datetime); __pyx_t_1 = __Pyx_Import(__pyx_n_s_datetime, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_datetime); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_datetime, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0010: from .reservoir_cy cimport Reservoir
0011: from .delta_cy cimport Delta
0012: from .district_cy cimport District
0013: from .private_cy cimport Private
0014: from .contract_cy cimport Contract
0015: from .canal_cy cimport Canal
0016: from .waterbank_cy cimport Waterbank
+0017: from .scenario import Scenario
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_Scenario); __Pyx_GIVEREF(__pyx_n_s_Scenario); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Scenario); __pyx_t_2 = __Pyx_Import(__pyx_n_s_scenario, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Scenario); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Scenario, __pyx_t_1) < 0) __PYX_ERR(0, 17, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0018: from .util import *
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s__83); __Pyx_GIVEREF(__pyx_n_s__83); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s__83); __pyx_t_1 = __Pyx_Import(__pyx_n_s_util, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0019:
0020:
+0021: class Model():
__pyx_t_1 = __Pyx_Py3MetaclassPrepare((PyObject *) NULL, __pyx_empty_tuple, __pyx_n_s_Model, __pyx_n_s_Model, (PyObject *) NULL, __pyx_n_s_calfews_src_cy_model_cy, (PyObject *) NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* … */ __pyx_t_2 = __Pyx_Py3ClassCreate(((PyObject*)&__Pyx_DefaultClassType), __pyx_n_s_Model, __pyx_empty_tuple, __pyx_t_1, NULL, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_d, __pyx_n_s_Model, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0022: # __slots__ = ["df", "model_mode", "demand_type", "index", "T", "day_year", "day_month", "month", "year", "starting_year",
0023: # "ending_year", "number_years", "dowy", "water_year", "df_short", "T_short", "short_day_year",
0024: # "short_day_month", "short_month", "short_year", "short_starting_year", "short_ending_year",
0025: # "short_number_years", "short_dowy", "short_water_year", "leap", "year_list", "days_in_month",
0026: # "dowy_eom", "non_leap_year", "use_sensitivity", "sensitivity_sample_number", "sensitivity_sample_names",
0027: # "sensitivity_sample", "sensitivity_factors", "shasta", "oroville", "folsom", "yuba", "newmelones",
0028: # "donpedro", "exchequer", "millerton", "sanluisstate", "sanluisfederal", "isabella", "success",
0029: # "kaweah", "pineflat", "berrenda", "belridge", "buenavista", "cawelo", "henrymiller",
0030: # "ID4", "kerndelta", "losthills", "rosedale", "semitropic", "tehachapi", "tejon", "westkern", "wheeler",
0031: # "kcwa", "bakersfield", "northkern", "arvin", "delano", "pixley", "exeter", "kerntulare", "lindmore",
0032: # "lindsay", "lowertule", "porterville", "saucelito", "shaffer", "sosanjoaquin", "teapot", "terra", "tulare",
0033: # "fresno", "fresnoid", "socal", "southbay", "centralcoast", "dudleyridge", "tularelake", "westlands",
0034: # "chowchilla", "maderairr", "othertule", "otherkaweah", "otherfriant", "othercvp", "otherexchange",
0035: # "othercrossvalley", "otherswp", "consolidated", "alta", "krwa", "kaweahdelta", "sanluiswater", "panoche",
0036: # "delpuerto", "wonderful", "metropolitan", "castaic", "coachella", "friant1", "friant2", "swpdelta",
0037: # "cvpdelta", "cvpexchange", "crossvalley", "kernriver", "tuleriver", "kaweahriver", "kingsriver",
0038: # "fkc", "madera", "xvc", "calaqueduct", "kwbcanal", "aecanal", "kerncanal", "calloway", "lerdo",
0039: # "beardsley", "kernriverchannel", "kaweahriverchannel", "tuleriverchannel", "kingsriverchannel", "delta",
0040: # "stockdale", "kernriverbed", "poso", "pioneer", "kwb", "berrendawb", "b2800", "wkwb", "irvineranch",
0041: # "northkernwb", 'short_index', 'first_d_of_month', 'short_days_in_month', 'delta_gains_regression',
0042: # 'running_fnf', 'reservoir_list', 'city_list', 'swp_allocation', 'canal_reservoir', 'canal_contract',
0043: # 'annual_SWP', 'hro_pumping', 'district_list', 'forecastSRI', 'contract_list', 'waterbank_list',
0044: # 'canal_priority', 'canal_list', 'observed_trp', 'sanluis', 'reservoir_contract', 'cvp_allocation',
0045: # 'contract_turnouts', 'contract_reservoir', 'trp_pumping', 'reservoir_canal', 'canal_district',
0046: # 'aewb', 'pumping_turnback', 'max_tax_free', 'observed_hro', 'district_keys', 'private_list',
0047: # 'annual_CVP', 'ytd_pump_hro', 'observed_hro_pred', 'ytd_pump_trp', 'contract_keys', 'urban_list',
0048: # 'omr_rule_start', 'leiu_list', 'allocation_losses', 'district_keys_len', 'canal_district_len']
0049:
+0050: def __init__(self, input_data_file, expected_release_datafile, model_mode, demand_type, sensitivity_sample_number=-1, sensitivity_sample_names=[], sensitivity_sample=[], sensitivity_factors = None):
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy___defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_TraceCall("__defaults__", __pyx_f[0], 50, 0, __PYX_ERR(0, 50, __pyx_L1_error));
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)__pyx_int_neg_1));
__Pyx_GIVEREF(((PyObject *)__pyx_int_neg_1));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_int_neg_1));
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample_names);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample_names);
PyTuple_SET_ITEM(__pyx_t_1, 1, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample_names);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample);
PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_sensitivity_sample);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)Py_None));
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("calfews_src_cy.model_cy.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_input_data_file = 0;
PyObject *__pyx_v_expected_release_datafile = 0;
PyObject *__pyx_v_model_mode = 0;
PyObject *__pyx_v_demand_type = 0;
PyObject *__pyx_v_sensitivity_sample_number = 0;
PyObject *__pyx_v_sensitivity_sample_names = 0;
PyObject *__pyx_v_sensitivity_sample = 0;
PyObject *__pyx_v_sensitivity_factors = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_input_data_file,&__pyx_n_s_expected_release_datafile,&__pyx_n_s_model_mode,&__pyx_n_s_demand_type,&__pyx_n_s_sensitivity_sample_number,&__pyx_n_s_sensitivity_sample_names,&__pyx_n_s_sensitivity_sample,&__pyx_n_s_sensitivity_factors,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
__pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self);
values[5] = ((PyObject *)((PyObject *)__pyx_int_neg_1));
values[6] = __pyx_dynamic_args->__pyx_arg_sensitivity_sample_names;
values[7] = __pyx_dynamic_args->__pyx_arg_sensitivity_sample;
values[8] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_input_data_file)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 0, 5, 9, 1); __PYX_ERR(0, 50, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_expected_release_datafile)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 0, 5, 9, 2); __PYX_ERR(0, 50, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_model_mode)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 0, 5, 9, 3); __PYX_ERR(0, 50, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_demand_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 0, 5, 9, 4); __PYX_ERR(0, 50, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sensitivity_sample_number);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sensitivity_sample_names);
if (value) { values[6] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 7:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sensitivity_sample);
if (value) { values[7] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 8:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sensitivity_factors);
if (value) { values[8] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 50, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_input_data_file = values[1];
__pyx_v_expected_release_datafile = values[2];
__pyx_v_model_mode = values[3];
__pyx_v_demand_type = values[4];
__pyx_v_sensitivity_sample_number = values[5];
__pyx_v_sensitivity_sample_names = values[6];
__pyx_v_sensitivity_sample = values[7];
__pyx_v_sensitivity_factors = values[8];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 0, 5, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 50, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model___init__(__pyx_self, __pyx_v_self, __pyx_v_input_data_file, __pyx_v_expected_release_datafile, __pyx_v_model_mode, __pyx_v_demand_type, __pyx_v_sensitivity_sample_number, __pyx_v_sensitivity_sample_names, __pyx_v_sensitivity_sample, __pyx_v_sensitivity_factors);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_input_data_file, PyObject *__pyx_v_expected_release_datafile, PyObject *__pyx_v_model_mode, PyObject *__pyx_v_demand_type, PyObject *__pyx_v_sensitivity_sample_number, PyObject *__pyx_v_sensitivity_sample_names, PyObject *__pyx_v_sensitivity_sample, PyObject *__pyx_v_sensitivity_factors) {
PyObject *__pyx_v_short_year_list = NULL;
PyObject *__pyx_v_short_leap = NULL;
PyObject *__pyx_v_year_list = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj_)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__", 0);
__Pyx_TraceCall("__init__", __pyx_f[0], 50, 0, __PYX_ERR(0, 50, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_short_year_list);
__Pyx_XDECREF(__pyx_v_short_leap);
__Pyx_XDECREF(__pyx_v_year_list);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__84 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_input_data_file, __pyx_n_s_expected_release_datafile, __pyx_n_s_model_mode, __pyx_n_s_demand_type, __pyx_n_s_sensitivity_sample_number, __pyx_n_s_sensitivity_sample_names, __pyx_n_s_sensitivity_sample, __pyx_n_s_sensitivity_factors, __pyx_n_s_short_year_list, __pyx_n_s_short_leap, __pyx_n_s_year_list); if (unlikely(!__pyx_tuple__84)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__84);
__Pyx_GIVEREF(__pyx_tuple__84);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_1__init__, 0, __pyx_n_s_Model___init, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_2, sizeof(__pyx_defaults), 2)) __PYX_ERR(0, 50, __pyx_L1_error)
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_2)->__pyx_arg_sensitivity_sample_names = __pyx_t_3;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_2)->__pyx_arg_sensitivity_sample = __pyx_t_3;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_2, __pyx_pf_14calfews_src_cy_8model_cy___defaults__);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init, __pyx_t_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(9, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__84, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_init, 50, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 50, __pyx_L1_error)
0051: ##Set model dataset & index length
+0052: self.df = pd.read_csv(input_data_file, index_col=0, parse_dates=True)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_input_data_file); __Pyx_GIVEREF(__pyx_v_input_data_file); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_input_data_file); __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 52, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_parse_dates, Py_True) < 0) __PYX_ERR(0, 52, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_df, __pyx_t_4) < 0) __PYX_ERR(0, 52, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0053: self.model_mode = model_mode
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_model_mode, __pyx_v_model_mode) < 0) __PYX_ERR(0, 53, __pyx_L1_error)
+0054: self.demand_type = demand_type
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_demand_type, __pyx_v_demand_type) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
+0055: self.index = self.df.index
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_index, __pyx_t_3) < 0) __PYX_ERR(0, 55, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0056: self.T = len(self.df)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_T, __pyx_t_3) < 0) __PYX_ERR(0, 56, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0057: self.day_year = self.index.dayofyear
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dayofyear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 57, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_day_year, __pyx_t_4) < 0) __PYX_ERR(0, 57, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0058: self.day_month = self.index.day
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_day_month, __pyx_t_3) < 0) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0059: self.month = self.index.month
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_month); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_month, __pyx_t_4) < 0) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0060: self.year = self.index.year
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_year, __pyx_t_3) < 0) __PYX_ERR(0, 60, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0061: self.starting_year = self.index.year[0]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_starting_year, __pyx_t_3) < 0) __PYX_ERR(0, 61, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0062: self.ending_year = self.index.year[-1]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ending_year, __pyx_t_3) < 0) __PYX_ERR(0, 62, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0063: self.number_years = self.ending_year - self.starting_year
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ending_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyNumber_Subtract(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_number_years, __pyx_t_1) < 0) __PYX_ERR(0, 63, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0064: self.dowy = water_day(self.day_year, self.year)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_water_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_2}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_3, __pyx_t_2}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_2); __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dowy, __pyx_t_1) < 0) __PYX_ERR(0, 64, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0065: self.water_year = water_year(self.month, self.year, self.starting_year)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_water_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_month); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_8, __pyx_t_2, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_8, __pyx_t_2, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_9 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_7, __pyx_t_3); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_water_year, __pyx_t_1) < 0) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0066: self.df_short = pd.read_csv(expected_release_datafile, index_col=0, parse_dates=True)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_expected_release_datafile); __Pyx_GIVEREF(__pyx_v_expected_release_datafile); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_expected_release_datafile); __pyx_t_9 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 66, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_parse_dates, Py_True) < 0) __PYX_ERR(0, 66, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_df_short, __pyx_t_3) < 0) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0067: self.T_short = len(self.df_short)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_T_short, __pyx_t_3) < 0) __PYX_ERR(0, 67, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0068: self.short_day_year = self.df_short.index.dayofyear
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_index); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_dayofyear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_day_year, __pyx_t_3) < 0) __PYX_ERR(0, 68, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0069: self.short_day_month = self.df_short.index.day
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_index); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_day_month, __pyx_t_3) < 0) __PYX_ERR(0, 69, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0070: self.short_month = self.df_short.index.month
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_index); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_month, __pyx_t_3) < 0) __PYX_ERR(0, 70, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0071: self.short_year = self.df_short.index.year
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_index); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_year, __pyx_t_3) < 0) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0072: self.short_starting_year = self.short_year[0]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_starting_year, __pyx_t_9) < 0) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0073: self.short_ending_year = self.short_year[-1]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_9, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_ending_year, __pyx_t_3) < 0) __PYX_ERR(0, 73, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0074: self.short_number_years = self.short_ending_year - self.short_starting_year
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_ending_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_starting_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = PyNumber_Subtract(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_number_years, __pyx_t_1) < 0) __PYX_ERR(0, 74, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0075: self.short_dowy = water_day(self.short_day_year, self.short_year)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_water_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_day_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_3, __pyx_t_4}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_dowy, __pyx_t_1) < 0) __PYX_ERR(0, 75, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0076: self.short_water_year = water_year(self.short_month, self.short_year, self.short_starting_year)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_water_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_month); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_starting_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_t_8, __pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_t_8, __pyx_t_4, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_7, __pyx_t_3); __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_water_year, __pyx_t_1) < 0) __PYX_ERR(0, 76, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0077: short_year_list = np.arange(min(self.short_year), max(self.short_year)+2)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_arange); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_9}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_9}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_9 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_short_year_list = __pyx_t_1; __pyx_t_1 = 0;
+0078: short_leap = leap(short_year_list)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_leap); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_8, __pyx_v_short_year_list) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_short_year_list); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_short_leap = __pyx_t_1; __pyx_t_1 = 0;
+0079: self.short_days_in_month = days_in_month(short_year_list, short_leap)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_short_year_list, __pyx_v_short_leap}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_short_year_list, __pyx_v_short_leap}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_short_year_list); __Pyx_GIVEREF(__pyx_v_short_year_list); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_v_short_year_list); __Pyx_INCREF(__pyx_v_short_leap); __Pyx_GIVEREF(__pyx_v_short_leap); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_v_short_leap); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_short_days_in_month, __pyx_t_1) < 0) __PYX_ERR(0, 79, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0080:
+0081: self.leap = leap(np.arange(min(self.year), max(self.year) + 2))
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_leap); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_arange); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_8}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_4, __pyx_t_8}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_8); __pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_leap, __pyx_t_1) < 0) __PYX_ERR(0, 81, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0082: year_list = np.arange(min(self.year), max(self.year) + 2)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_arange); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_10, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_3, __pyx_t_6}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_3, __pyx_t_6}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 82, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_year_list = __pyx_t_1; __pyx_t_1 = 0;
+0083: self.days_in_month = days_in_month(year_list, self.leap)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leap); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_year_list, __pyx_t_8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_year_list, __pyx_t_8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_year_list); __Pyx_GIVEREF(__pyx_v_year_list); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_7, __pyx_v_year_list); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_7, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month, __pyx_t_1) < 0) __PYX_ERR(0, 83, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0084: self.dowy_eom = dowy_eom(year_list, self.leap)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_year_list, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_year_list, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_year_list); __Pyx_GIVEREF(__pyx_v_year_list); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_year_list); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom, __pyx_t_1) < 0) __PYX_ERR(0, 84, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0085: self.non_leap_year = first_non_leap_year(self.dowy_eom)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_first_non_leap_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_3, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year, __pyx_t_1) < 0) __PYX_ERR(0, 85, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0086: self.first_d_of_month = first_d_of_month(self.dowy_eom, self.days_in_month)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_first_d_of_month); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_t_3}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_t_3}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_10 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_7, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_7, __pyx_t_3); __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_first_d_of_month, __pyx_t_1) < 0) __PYX_ERR(0, 86, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0087:
+0088: if sensitivity_sample_number == -1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_sensitivity_sample_number, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 88, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L3; }
+0089: self.use_sensitivity = False
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity, Py_False) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
0090: else:
+0091: self.use_sensitivity = True
/*else*/ {
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity, Py_True) < 0) __PYX_ERR(0, 91, __pyx_L1_error)
+0092: self.sensitivity_sample_number = sensitivity_sample_number
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_sample_number, __pyx_v_sensitivity_sample_number) < 0) __PYX_ERR(0, 92, __pyx_L1_error)
+0093: self.sensitivity_sample_names = sensitivity_sample_names
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_sample_names, __pyx_v_sensitivity_sample_names) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
+0094: self.sensitivity_sample = sensitivity_sample
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_sample, __pyx_v_sensitivity_sample) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
+0095: self.sensitivity_factors = sensitivity_factors
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors, __pyx_v_sensitivity_factors) < 0) __PYX_ERR(0, 95, __pyx_L1_error)
+0096: self.set_sensitivity_factors()
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_sensitivity_factors); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
0097:
0098:
+0099: def object_equals(self, other, return_full=False):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_3object_equals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_3object_equals = {"object_equals", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_3object_equals, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_3object_equals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_other = 0;
PyObject *__pyx_v_return_full = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("object_equals (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_other,&__pyx_n_s_return_full,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_False));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_other)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("object_equals", 0, 2, 3, 1); __PYX_ERR(0, 99, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_return_full);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "object_equals") < 0)) __PYX_ERR(0, 99, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_other = values[1];
__pyx_v_return_full = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("object_equals", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 99, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.object_equals", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_2object_equals(__pyx_self, __pyx_v_self, __pyx_v_other, __pyx_v_return_full);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_2object_equals(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_other, PyObject *__pyx_v_return_full) {
PyObject *__pyx_v_equality = NULL;
PyObject *__pyx_v_differences = NULL;
PyObject *__pyx_v_i = NULL;
PyObject *__pyx_v_j = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__2)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("object_equals", 0);
__Pyx_TraceCall("object_equals", __pyx_f[0], 99, 0, __PYX_ERR(0, 99, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.object_equals", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_equality);
__Pyx_XDECREF(__pyx_v_differences);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XDECREF(__pyx_v_j);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__85 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_other, __pyx_n_s_return_full, __pyx_n_s_equality, __pyx_n_s_differences, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__85);
__Pyx_GIVEREF(__pyx_tuple__85);
__pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_object_equals, 99, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 99, __pyx_L1_error)
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_3object_equals, 0, __pyx_n_s_Model_object_equals, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__2)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__86);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_object_equals, __pyx_t_2) < 0) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__86 = PyTuple_Pack(1, ((PyObject *)Py_False)); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__86);
__Pyx_GIVEREF(__pyx_tuple__86);
0100: ##This function compares two instances of a model object, returns True if all attributes are identical.
+0101: equality = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_equality = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+0102: if (self.__dict__.keys() != other.__dict__.keys()):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_keys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ }
+0103: return ('Different Attributes')
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_kp_u_Different_Attributes); __pyx_r = __pyx_kp_u_Different_Attributes; goto __pyx_L0;
0104: else:
+0105: differences = 0
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_v_differences = __pyx_int_0;
+0106: for i in self.__dict__.keys():
__pyx_t_6 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (unlikely(__pyx_t_3 == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "keys");
__PYX_ERR(0, 106, __pyx_L1_error)
}
__pyx_t_1 = __Pyx_dict_iterator(__pyx_t_3, 0, __pyx_n_s_keys, (&__pyx_t_7), (&__pyx_t_8)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_4);
__pyx_t_4 = __pyx_t_1;
__pyx_t_1 = 0;
while (1) {
__pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_4, __pyx_t_7, &__pyx_t_6, &__pyx_t_1, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_9 == 0)) break;
if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_1);
__pyx_t_1 = 0;
+0107: if ((type(self.__getattribute__(i)) is Canal) | (type(self.__getattribute__(i)) is Contract) |
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ if (__pyx_t_15) { /* … */ goto __pyx_L6; }
+0108: (type(self.__getattribute__(i)) is District) | (type(self.__getattribute__(i)) is Private) |
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_11 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_10private_cy_Private)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0109: (type(self.__getattribute__(i)) is Reservoir) | (type(self.__getattribute__(i)) is Waterbank)):
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_13 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); /* … */ __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank)); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_15 = ((((((__pyx_t_5 | __pyx_t_10) | __pyx_t_11) | __pyx_t_12) | __pyx_t_13) | __pyx_t_14) != 0);
+0110: equality[i] = self.__getattribute__(i).object_equals(other.__getattribute__(i))
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_16, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_i); __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_object_equals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_17, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_i); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_16, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, __pyx_t_1) < 0)) __PYX_ERR(0, 110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0111: elif type(self.__getattribute__(i)) is dict:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_i); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_15 = (((PyObject *)Py_TYPE(__pyx_t_1)) == ((PyObject *)(&PyDict_Type))); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_14 = (__pyx_t_15 != 0); if (__pyx_t_14) { /* … */ goto __pyx_L6; }
+0112: equality[i] = True
if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, Py_True) < 0)) __PYX_ERR(0, 112, __pyx_L1_error)
+0113: for j in self.__getattribute__(i).keys():
__pyx_t_18 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_16 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_16 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_16)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_16);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_2 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_16, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(__pyx_t_2 == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "keys");
__PYX_ERR(0, 113, __pyx_L1_error)
}
__pyx_t_3 = __Pyx_dict_iterator(__pyx_t_2, 0, __pyx_n_s_keys, (&__pyx_t_19), (&__pyx_t_9)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_19, &__pyx_t_18, &__pyx_t_3, NULL, NULL, __pyx_t_9);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_j, __pyx_t_3);
__pyx_t_3 = 0;
+0114: if (type(self.__getattribute__(i)[j] == other.__getattribute__(i)[j]) is bool):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_16, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_i); __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_17, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_i); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_14 = (((PyObject *)Py_TYPE(__pyx_t_3)) == ((PyObject*)&PyBool_Type)); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_15 = (__pyx_t_14 != 0); if (__pyx_t_15) { /* … */ goto __pyx_L9; }
+0115: if ((self.__getattribute__(i)[j] == other.__getattribute__(i)[j]) == False):
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_i); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_17, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_i); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_16, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* … */ }
+0116: equality[i] = False
if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, Py_False) < 0)) __PYX_ERR(0, 116, __pyx_L1_error)
0117: else:
+0118: if ((self.__getattribute__(i)[j] == other.__getattribute__(i)[j]).all() == False):
/*else*/ {
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_17 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
__pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16);
if (likely(__pyx_t_17)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
__Pyx_INCREF(__pyx_t_17);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_16, function);
}
}
__pyx_t_3 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_17, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_21 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
__pyx_t_21 = PyMethod_GET_SELF(__pyx_t_17);
if (likely(__pyx_t_21)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
__Pyx_INCREF(__pyx_t_21);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_17, function);
}
}
__pyx_t_3 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_21, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_j); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyObject_RichCompare(__pyx_t_16, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_all); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_17);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_17, function);
}
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = PyObject_RichCompare(__pyx_t_2, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (__pyx_t_15) {
/* … */
}
}
__pyx_L9:;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0119: equality[i] = False
if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, Py_False) < 0)) __PYX_ERR(0, 119, __pyx_L1_error)
0120: else:
+0121: if (type(self.__getattribute__(i) == other.__getattribute__(i)) is bool):
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_17);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_17, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_2, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_17 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_15 = (((PyObject *)Py_TYPE(__pyx_t_2)) == ((PyObject*)&PyBool_Type));
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_14 = (__pyx_t_15 != 0);
if (__pyx_t_14) {
/* … */
goto __pyx_L12;
}
+0122: equality[i] = (self.__getattribute__(i) == other.__getattribute__(i))
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); } } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_1, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_v_i); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_17 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_i); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_17, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, __pyx_t_1) < 0)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0123: else:
+0124: equality[i] = np.array(self.__getattribute__(i) == other.__getattribute__(i)).all()
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__pyx_t_21 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) {
__pyx_t_21 = PyMethod_GET_SELF(__pyx_t_16);
if (likely(__pyx_t_21)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16);
__Pyx_INCREF(__pyx_t_21);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_16, function);
}
}
__pyx_t_2 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_16, __pyx_t_21, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_other, __pyx_n_s_getattribute); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_22 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) {
__pyx_t_22 = PyMethod_GET_SELF(__pyx_t_21);
if (likely(__pyx_t_22)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21);
__Pyx_INCREF(__pyx_t_22);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_21, function);
}
}
__pyx_t_16 = (__pyx_t_22) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_22, __pyx_v_i) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_v_i);
__Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0;
if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = PyObject_RichCompare(__pyx_t_2, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_16 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_16 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_16)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_16);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_17 = (__pyx_t_16) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_16, __pyx_t_21) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_21);
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_all); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_17)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_17);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_17) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_equality, __pyx_v_i, __pyx_t_1) < 0)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L12:;
}
__pyx_L6:;
+0125: if (equality[i] == False):
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_equality, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, Py_False, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_14) { /* … */ } } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; }
+0126: differences += 1
__pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_differences, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_differences, __pyx_t_3); __pyx_t_3 = 0;
+0127: if return_full:
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_v_return_full); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 127, __pyx_L1_error) if (__pyx_t_14) { /* … */ }
+0128: return (equality)
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_equality); __pyx_r = __pyx_v_equality; goto __pyx_L0;
0129: else:
+0130: return (differences == 0)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_differences, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L0;
}
0131:
0132:
0133:
0134:
0135: #####################################################################################################################
0136: ############################# Object Creation ###############################################################
0137: #####################################################################################################################
+0138: def northern_initialization_routine(self, startTime):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_5northern_initialization_routine(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_5northern_initialization_routine = {"northern_initialization_routine", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_5northern_initialization_routine, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_5northern_initialization_routine(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_startTime = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("northern_initialization_routine (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_startTime,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_startTime)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("northern_initialization_routine", 1, 2, 2, 1); __PYX_ERR(0, 138, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "northern_initialization_routine") < 0)) __PYX_ERR(0, 138, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_startTime = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("northern_initialization_routine", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 138, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.northern_initialization_routine", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_4northern_initialization_routine(__pyx_self, __pyx_v_self, __pyx_v_startTime);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_4northern_initialization_routine(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_startTime) {
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__3)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("northern_initialization_routine", 0);
__Pyx_TraceCall("northern_initialization_routine", __pyx_f[0], 138, 0, __PYX_ERR(0, 138, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.northern_initialization_routine", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_startTime); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__87);
__Pyx_GIVEREF(__pyx_tuple__87);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_5northern_initialization_routine, 0, __pyx_n_s_Model_northern_initialization_ro, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__3)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_northern_initialization_routine, __pyx_t_2) < 0) __PYX_ERR(0, 138, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__3 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_northern_initialization_routine, 138, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__3)) __PYX_ERR(0, 138, __pyx_L1_error)
0139: ######################################################################################
0140: ######################################################################################
0141: # preprocessing for the northern system
0142: ######################################################################################
0143: # initialize reservoirs
0144: # generates - regression coefficients & standard deviations for flow predictions (fnf & inf)
0145: # (at each reservoir)
0146: # self.res.rainflood_fnf; self.res.snowflood_fnf
0147: # self.res.rainflood_inf; self.res.snowflood_inf; self.res.baseline_inf
0148: # self.res.rainfnf_stds; self.res.snowfnf_stds
0149: # self.res.raininf_stds; self.res.snowinf_stds; self.res.baseinf_stds
0150: # self.res.flow_shape - monthly fractions of total period flow
+0151: self.initialize_northern_res()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_northern_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0152: # print('Initialize Northern Reservoirs, time ', datetime.now() - startTime)
0153: # initialize delta rules, calcluate expected environmental releases at each reservoir
0154: # generates - cumulative environmental/delta releases remaining (at each reservoir)
0155: # self.res.cum_min_release; self.res.aug_sept_min_release; self.res.oct_nov_min_release
+0156: self.initialize_delta_ops()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_delta_ops); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0157: # print('Initialize Delta Ops, time ', datetime.now() - startTime)
0158:
0159: ######
0160: # calculate projection-based flow year indicies using flow & snow inputs
0161: ##note: these values are pre-processed, but represent no 'foresight' WYT & WYI index use
0162: # snow-based projections to forecast flow, calculate running WY index & WYT
0163: # generates:
0164: # self.delta.forecastSJI (self.T x 1) - forecasts for san joaquin river index
0165: # self.delta.forecastSRI (self.T x 1) - forecasts for sacramento river index
+0166: self.find_running_WYI()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_running_WYI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0167: # print('Find Water Year Indicies, time ', datetime.now() - startTime)
0168:
0169: ######
0170: # calculate expected 'unstored' pumping at the delta (for predictions into San Luis)
0171: # this generates:
0172: # self.delta_gains_regression (365x2) - linear coeffecicients for predicting total unstored pumping, oct-mar, based on ytd full natural flow
0173: # self.delta_gains_regression2 (365x2) - linear coeffecicients for predicting total unstored pumping, apr-jul, based on ytd full natural flow
0174: # self.month_averages (12x1) - expected fraction of unstored pumping to come in each month (fraction is for total period flow, so 0.25 in feb is 25% of total oct-mar unstored flow)
+0175: self.predict_delta_gains()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_predict_delta_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0176: # print('Find Delta Gains, time ', datetime.now() - startTime)
+0177: if self.model_mode == 'validation':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+0178: self.set_regulations_historical_north()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_regulations_historical_north); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0179: else:
+0180: self.set_regulations_current_north()
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_regulations_current_north); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 180, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L3:;
0181:
+0182: return self.delta.omr_rule_start, self.delta.max_tax_free
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_omr_rule_start); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max_tax_free); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
0183: ######################################################################################
0184:
+0185: def southern_initialization_routine(self, startTime, scenario='baseline'):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_7southern_initialization_routine(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_7southern_initialization_routine = {"southern_initialization_routine", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_7southern_initialization_routine, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_7southern_initialization_routine(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_startTime = 0;
PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("southern_initialization_routine (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_startTime,&__pyx_n_s_scenario,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)((PyObject*)__pyx_n_u_baseline));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_startTime)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("southern_initialization_routine", 0, 2, 3, 1); __PYX_ERR(0, 185, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "southern_initialization_routine") < 0)) __PYX_ERR(0, 185, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_startTime = values[1];
__pyx_v_scenario = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("southern_initialization_routine", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 185, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.southern_initialization_routine", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_6southern_initialization_routine(__pyx_self, __pyx_v_self, __pyx_v_startTime, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_6southern_initialization_routine(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_startTime, PyObject *__pyx_v_scenario) {
PyObject *__pyx_v_urban_datafile = NULL;
PyObject *__pyx_v_urban_datafile_cvp = NULL;
PyObject *__pyx_v_project_pumping_datafile = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__4)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("southern_initialization_routine", 0);
__Pyx_TraceCall("southern_initialization_routine", __pyx_f[0], 185, 0, __PYX_ERR(0, 185, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.southern_initialization_routine", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_urban_datafile);
__Pyx_XDECREF(__pyx_v_urban_datafile_cvp);
__Pyx_XDECREF(__pyx_v_project_pumping_datafile);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__88 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_startTime, __pyx_n_s_scenario, __pyx_n_s_urban_datafile, __pyx_n_s_urban_datafile_cvp, __pyx_n_s_project_pumping_datafile); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__88);
__Pyx_GIVEREF(__pyx_tuple__88);
__pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__88, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_southern_initialization_routine, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 185, __pyx_L1_error)
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_7southern_initialization_routine, 0, __pyx_n_s_Model_southern_initialization_ro, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__89);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_southern_initialization_routine, __pyx_t_2) < 0) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__89 = PyTuple_Pack(1, ((PyObject*)__pyx_n_u_baseline)); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 185, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__89);
__Pyx_GIVEREF(__pyx_tuple__89);
0186: ######################################################################################
0187: # preprocessing for the southern system
0188: ######################################################################################
0189: # initialize the southern reservoirs -
0190: # generates - same values as initialize_northern_res(), but for southern reservoirs
+0191: self.initialize_southern_res()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_southern_res); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0192: # print('Initialize Southern Reservoirs, time ', datetime.now() - startTime)
0193: # initialize water districts for southern model
0194: # generates - water district parameters (see calfews_src-combined/calfews_src/districts/readme.txt)
0195: # self.district_list - list of district objects
0196: # self.district_keys - dictionary pairing district keys w/district class objects
+0197: self.initialize_water_districts(scenario)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_water_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_scenario) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_scenario); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0198: # print('Initialize Water Districts, time ', datetime.now() - startTime)
0199: # initialize water contracts for southern model
0200: # generates - water contract parameters (see calfews_src-combined/calfews_src/contracts/readme.txt)
0201: # self.contract_list - list of contract objects
0202: # self.contract_keys - dictionary pairing contract keys w/contract class objects
0203: # self.res.contract_carryover_list - recalfews_src of carryover space afforded to each contract (for all district)
+0204: self.initialize_sw_contracts()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_sw_contracts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0205: # print('Initialize Contracts, time ', datetime.now() - startTime)
0206: # initialize water banks for southern model
0207: # generates - water bank parameters (see calfews_src-combined/calfews_src/banks/readme.txt)
0208: # self.waterbank_list - list of waterbank objects
0209: # self.leiu_list - list of district objects that also operate as 'in leiu' or 'direct recharge' waterbanks
+0210: self.initialize_water_banks()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_water_banks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0211: # print('Initialize Water Banks, time ', datetime.now() - startTime)
0212: # initialize canals/waterways for southern model
0213: # generates - canal parameters (see calfews_src-combined/calfews_src/canals/readme.txt)
0214: # self.canal_list - list of canal objects
+0215: self.initialize_canals(scenario)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_initialize_canals); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_scenario) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_scenario); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0216: # print('Initialize Canals, time ', datetime.now() - startTime)
+0217: if self.model_mode == 'validation':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 217, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+0218: self.set_regulations_historical_south(scenario)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_regulations_historical_south); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_scenario) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_scenario); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0219: else:
+0220: self.set_regulations_current_south(scenario)
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_regulations_current_south); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_scenario) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_scenario);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L3:;
0221:
0222: # create dictionaries that structure the relationships between
0223: # reservoirs, canals, districts, waterbanks, and contracts
0224: # generates:
0225: # self.canal_district - dict keys are canals, object lists place reservoirs, waterbanks, districts & other canals in order on a given canal
0226: # self.canal_priority - dict keys are canals, object lists are the 'main' canals that have 'priority' on the other canals (through turnouts)
0227: # self.reservoir_contract - dict keys are reservoirs, object lists are contracts stored in that reservoir
0228: # self.contract_reservoir - dict keys are contracts, objects (single) are reservoirs where that contract is stored (inverse of reservoir_contract)
0229: # self.canal_contract - dict keys are canals, object lists are contracts that have priority on those canals (primarily for flood flows)
0230: # self.reservoir_canal - dict keys are reservoirs, object lists are canal(s) that connect to the reservoir (note - only millerton has more than one canal)
0231: # Also initializes some canal properties
0232: # self.canal.demand - dictionary for the different types of demand that can be created at each canal node (note - these values are updated within model steps)
0233: # self.canal.flow - vector recalfews_srcing flow to a node on a canal (note - these values are updated within model steps)
0234: # self.canal.turnout_use - vector recalfews_srcing diversions to a node on a canal (note - these values are updated within model steps)
+0235: self.create_object_associations()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_create_object_associations); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0236: # print('Create Object Associations, time ', datetime.now() - startTime)
0237:
0238: ###Applies initial carryover balances to districts
0239: ##based on initial reservoir storage conditions
0240: ##PLEASE NOTE CARRYOVER STORAGE IN SAN LUIS IS HARD-CODED
+0241: self.find_initial_carryover()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_initial_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0242: # print('Initialize Carryover Storage, time ', datetime.now() - startTime)
0243: ##initial recovery capacities for districts, based on
0244: ##ownership stakes in waterbanks (direct + inleui)
+0245: self.init_tot_recovery()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init_tot_recovery); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0246: # print('Initialize Recovery Capacity, time ', datetime.now() - startTime)
0247: ##initial recharge capacities (projected out 12 months) for districts,
0248: ##based on ownership stakes in waterbanks (direct + inleui + indistrict)
+0249: urban_datafile = 'calfews_src/data/input/calfews_src-data-urban.csv'
__Pyx_INCREF(__pyx_kp_u_calfews_src_data_input_calfews_s);
__pyx_v_urban_datafile = __pyx_kp_u_calfews_src_data_input_calfews_s;
+0250: urban_datafile_cvp = 'calfews_src/data/input/pump-data-cvp.csv'
__Pyx_INCREF(__pyx_kp_u_calfews_src_data_input_pump_data);
__pyx_v_urban_datafile_cvp = __pyx_kp_u_calfews_src_data_input_pump_data;
+0251: project_pumping_datafile = 'calfews_src/data/input/reservoir_results_no_validation.csv'
__Pyx_INCREF(__pyx_kp_u_calfews_src_data_input_reservoir);
__pyx_v_project_pumping_datafile = __pyx_kp_u_calfews_src_data_input_reservoir;
+0252: self.project_urban(urban_datafile, urban_datafile_cvp, project_pumping_datafile)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_project_urban); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_5 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_urban_datafile, __pyx_v_urban_datafile_cvp, __pyx_v_project_pumping_datafile}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_urban_datafile, __pyx_v_urban_datafile_cvp, __pyx_v_project_pumping_datafile}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_urban_datafile); __Pyx_GIVEREF(__pyx_v_urban_datafile); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_urban_datafile); __Pyx_INCREF(__pyx_v_urban_datafile_cvp); __Pyx_GIVEREF(__pyx_v_urban_datafile_cvp); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_urban_datafile_cvp); __Pyx_INCREF(__pyx_v_project_pumping_datafile); __Pyx_GIVEREF(__pyx_v_project_pumping_datafile); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_project_pumping_datafile); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0253: # calculate how much recharge capacity is reachable from each reservoir
0254: # that is owned by surface water contracts held at that reservoir - used to determine
0255: # how much flood water can be released and 'taken' by a contractor
+0256: self.find_all_triggers()
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_all_triggers); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0257: # print('Find Triggers, time ', datetime.now() - startTime)
0258:
0259:
0260:
+0261: def initialize_northern_res(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_9initialize_northern_res(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_9initialize_northern_res = {"initialize_northern_res", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_9initialize_northern_res, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_9initialize_northern_res(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_northern_res (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_8initialize_northern_res(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_8initialize_northern_res(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_reservoir_list = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__5)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_northern_res", 0);
__Pyx_TraceCall("initialize_northern_res", __pyx_f[0], 261, 0, __PYX_ERR(0, 261, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_northern_res", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_reservoir_list);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__90 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_reservoir_list, __pyx_n_s_x); if (unlikely(!__pyx_tuple__90)) __PYX_ERR(0, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__90);
__Pyx_GIVEREF(__pyx_tuple__90);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_9initialize_northern_res, 0, __pyx_n_s_Model_initialize_northern_res, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_northern_res, __pyx_t_2) < 0) __PYX_ERR(0, 261, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__90, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_northern_res, 261, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 261, __pyx_L1_error)
0262:
0263: #########################################################################################
0264: #reservoir initialization for the northern delta system
0265: #########################################################################################
0266: #4 Sacramento River Reservoirs (CVP & SWP)
+0267: self.shasta = Reservoir(self, 'shasta', 'SHA', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_shasta); __Pyx_GIVEREF(__pyx_n_u_shasta); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_shasta); __Pyx_INCREF(__pyx_n_u_SHA); __Pyx_GIVEREF(__pyx_n_u_SHA); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SHA); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_shasta, __pyx_t_1) < 0) __PYX_ERR(0, 267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0268: self.folsom = Reservoir(self, 'folsom', 'FOL', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_folsom); __Pyx_GIVEREF(__pyx_n_u_folsom); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_folsom); __Pyx_INCREF(__pyx_n_u_FOL); __Pyx_GIVEREF(__pyx_n_u_FOL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_FOL); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_folsom, __pyx_t_1) < 0) __PYX_ERR(0, 268, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0269: self.oroville = Reservoir(self, 'oroville', 'ORO', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_oroville); __Pyx_GIVEREF(__pyx_n_u_oroville); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_oroville); __Pyx_INCREF(__pyx_n_u_ORO); __Pyx_GIVEREF(__pyx_n_u_ORO); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_ORO); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_oroville, __pyx_t_1) < 0) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0270: self.yuba = Reservoir(self, 'yuba', 'YRS', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_yuba); __Pyx_GIVEREF(__pyx_n_u_yuba); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_yuba); __Pyx_INCREF(__pyx_n_u_YRS); __Pyx_GIVEREF(__pyx_n_u_YRS); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_YRS); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_yuba, __pyx_t_1) < 0) __PYX_ERR(0, 270, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0271:
0272: #3 San Joaquin River Reservoirs (to meet Vernalis flow targets)
+0273: self.newmelones = Reservoir(self, 'newmelones', 'NML', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_newmelones); __Pyx_GIVEREF(__pyx_n_u_newmelones); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_newmelones); __Pyx_INCREF(__pyx_n_u_NML); __Pyx_GIVEREF(__pyx_n_u_NML); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_NML); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_newmelones, __pyx_t_1) < 0) __PYX_ERR(0, 273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0274: self.donpedro = Reservoir(self, 'donpedro', 'DNP', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_donpedro); __Pyx_GIVEREF(__pyx_n_u_donpedro); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_donpedro); __Pyx_INCREF(__pyx_n_u_DNP); __Pyx_GIVEREF(__pyx_n_u_DNP); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_DNP); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_donpedro, __pyx_t_1) < 0) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0275: self.exchequer = Reservoir(self, 'exchequer', 'EXC', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_exchequer); __Pyx_GIVEREF(__pyx_n_u_exchequer); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_exchequer); __Pyx_INCREF(__pyx_n_u_EXC); __Pyx_GIVEREF(__pyx_n_u_EXC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_EXC); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_exchequer, __pyx_t_1) < 0) __PYX_ERR(0, 275, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0276:
+0277: self.reservoir_list = [self.shasta, self.oroville, self.yuba, self.folsom, self.newmelones, self.donpedro,
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); /* … */ __pyx_t_8 = PyList_New(7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_8, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_8, 6, __pyx_t_7); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list, __pyx_t_8) < 0) __PYX_ERR(0, 277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0278: self.exchequer]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7);
0279:
0280: #Millerton Reservoir (flows used to calculate San Joaquin River index, not in northern simulation)
+0281: self.millerton = Reservoir(self, 'millerton', 'MIL', self.model_mode)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_millerton); __Pyx_GIVEREF(__pyx_n_u_millerton); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_millerton); __Pyx_INCREF(__pyx_n_u_MIL); __Pyx_GIVEREF(__pyx_n_u_MIL); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_MIL); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_millerton, __pyx_t_8) < 0) __PYX_ERR(0, 281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0282: reservoir_list = [self.shasta, self.oroville, self.folsom, self.yuba, self.newmelones, self.donpedro, self.exchequer, self.millerton]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyList_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_9, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_9, 4, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_9, 5, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_9, 6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_9, 7, __pyx_t_1); __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_v_reservoir_list = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0;
0283: ##Regression flow & standard deviations read from file
0284: #### Find regression information for all 8 reservoirs
+0285: if self.model_mode == 'climate_ensemble':
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_climate_ensemble, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_10) { /* … */ goto __pyx_L3; }
0286: ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
0287: # df_res_process = pd.DataFrame()
0288: # df_res_annual = pd.DataFrame()
+0289: for x in reservoir_list:
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 289, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0290: x.find_release_func(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0291: ###Flow shapes are regressions that determine % of remaining flow in a period (Oct-Mar; Apr-Jul; Aug-Sept)
0292: ###that is expected to come, regressed against the total flow already observed in that period
0293: ###regressions are done for each reservoir, and values are calculated for each month (i.e., 33% of remaining Apr-Jul flow comes in May)
+0294: for x in reservoir_list:
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 294, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0295: x.create_flow_shapes(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0296: elif self.model_mode == 'validation':
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_10) { /* … */ goto __pyx_L3; }
0297: ## 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
0298: # df_res_process = pd.DataFrame()
0299: # df_res_annual = pd.DataFrame()
+0300: for x in reservoir_list:
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 300, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0301: x.find_release_func(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0302: # df_res_process['%s_rainfnf' %x.key] = pd.Series(x.rainflood_fnf, index = self.index)
0303: # df_res_process['%s_snowfnf' %x.key] = pd.Series(x.snowflood_fnf, index = self.index)
0304: # df_res_process['%s_raininf' %x.key] = pd.Series(x.rainflood_inf, index = self.index)
0305: # df_res_process['%s_snowinf' %x.key] = pd.Series(x.snowflood_inf, index = self.index)
0306: # df_res_process['%s_baseinf' %x.key] = pd.Series(x.baseline_inf, index = self.index)
0307: #
0308: # df_res_annual['%s_rainfnfstd' % x.key] = pd.Series(x.rainfnf_stds)
0309: # df_res_annual['%s_snowfnfstd' % x.key] = pd.Series(x.snowfnf_stds)
0310: # df_res_annual['%s_raininfstd' % x.key] = pd.Series(x.raininf_stds)
0311: # df_res_annual['%s_snowinfstd' % x.key] = pd.Series(x.snowinf_stds)
0312: # df_res_annual['%s_baseinfstd' % x.key] = pd.Series(x.baseinf_stds)
0313: # df_res_process.to_csv('calfews_src/data/input/temp_output/no_res_preprocess_daily.csv')
0314: # df_res_annual.to_csv('calfews_src/data/input/temp_output/no_res_preprocess_annual.csv')
0315:
0316: #flow_estimates = pd.read_csv('calfews_src/data/temp_output/input/no_res_preprocess_daily.csv', index_col=0, parse_dates=True)
0317: #std_estimates = pd.read_csv('calfews_src/data/temp_output/input/no_res_preprocess_annual.csv')
0318: #for x in reservoir_list:
0319: #x.rainflood_fnf = flow_estimates['%s_rainfnf' % x.key]##FNF, OCT-MAR, LINEAR COEF
0320: #x.snowflood_fnf = flow_estimates['%s_snowfnf' % x.key]##FNF, APR-JUL, LINEAR COEF
0321: #x.rainflood_inf = flow_estimates['%s_raininf' % x.key]##INF, OCT-MAR, LINEAR COEF
0322: #x.snowflood_inf = flow_estimates['%s_snowinf' % x.key]##INF, APR-JUL, LINEAR COEF
0323: #x.baseline_inf = flow_estimates['%s_baseinf' % x.key]##INF, AUG-SEPT, LINEAR COEF
0324: #x.rainfnf_stds = std_estimates['%s_rainfnfstd' % x.key]##FNF, OCT-MAR, STD
0325: #x.snowfnf_stds = std_estimates['%s_snowfnfstd' % x.key]##FNF, APR-JUL, STD
0326: #x.raininf_stds = std_estimates['%s_raininfstd' % x.key]##INF, OCT-MAR, STD
0327: #x.snowinf_stds = std_estimates['%s_snowinfstd' % x.key]##INF, APR-JUL, STD
0328: #x.baseinf_stds = std_estimates['%s_baseinfstd' % x.key]##INF, AUG-SEPT, STD
0329: ###Flow shapes are regressions that determine % of remaining flow in a period (Oct-Mar; Apr-Jul; Aug-Sept)
0330: ###that is expected to come, regressed against the total flow already observed in that period
0331: ###regressions are done for each reservoir, and values are calculated for each month (i.e., 33% of remaining Apr-Jul flow comes in May)
0332: #df_flow_shape_no = pd.DataFrame()
+0333: for x in reservoir_list:
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 333, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0334: x.create_flow_shapes(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0335: else:
0336: ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
0337: # df_res_process = pd.DataFrame()
0338: # df_res_annual = pd.DataFrame()
+0339: for x in reservoir_list:
/*else*/ {
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0;
for (;;) {
if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
__pyx_t_1 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0340: x.find_release_func(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0341: # df_res_process['%s_rainfnf' %x.key] = pd.Series(x.rainflood_fnf, index = self.index)
0342: # df_res_process['%s_snowfnf' %x.key] = pd.Series(x.snowflood_fnf, index = self.index)
0343: # df_res_process['%s_raininf' %x.key] = pd.Series(x.rainflood_inf, index = self.index)
0344: # df_res_process['%s_snowinf' %x.key] = pd.Series(x.snowflood_inf, index = self.index)
0345: # df_res_process['%s_baseinf' %x.key] = pd.Series(x.baseline_inf, index = self.index)
0346: #
0347: # df_res_annual['%s_rainfnfstd' % x.key] = pd.Series(x.rainfnf_stds)
0348: # df_res_annual['%s_snowfnfstd' % x.key] = pd.Series(x.snowfnf_stds)
0349: # df_res_annual['%s_raininfstd' % x.key] = pd.Series(x.raininf_stds)
0350: # df_res_annual['%s_snowinfstd' % x.key] = pd.Series(x.snowinf_stds)
0351: # df_res_annual['%s_baseinfstd' % x.key] = pd.Series(x.baseinf_stds)
0352: # df_res_process.to_csv('calfews_src/data/input/temp_output/no_res_preprocess_simulation_daily.csv')
0353: # df_res_annual.to_csv('calfews_src/data/input/temp_output/no_res_preprocess_simulation_annual.csv')
0354:
0355: #flow_estimates = pd.read_csv('calfews_src/data/input/temp_output/no_res_preprocess_simulation_daily.csv')
0356: #std_estimates = pd.read_csv('calfews_src/data/input/temp_output/no_res_preprocess_simulation_annual.csv')
0357: #for x in reservoir_list:
0358: #x.rainflood_fnf = flow_estimates['%s_rainfnf' % x.key]##FNF, OCT-MAR, LINEAR COEF
0359: #x.snowflood_fnf = flow_estimates['%s_snowfnf' % x.key]##FNF, APR-JUL, LINEAR COEF
0360: #x.rainflood_inf = flow_estimates['%s_raininf' % x.key]##INF, OCT-MAR, LINEAR COEF
0361: #x.snowflood_inf = flow_estimates['%s_snowinf' % x.key]##INF, APR-JUL, LINEAR COEF
0362: #x.baseline_inf = flow_estimates['%s_baseinf' % x.key]##INF, AUG-SEPT, LINEAR COEF
0363: #x.rainfnf_stds = std_estimates['%s_rainfnfstd' % x.key]##FNF, OCT-MAR, STD
0364: #x.snowfnf_stds = std_estimates['%s_snowfnfstd' % x.key]##FNF, APR-JUL, STD
0365: #x.raininf_stds = std_estimates['%s_raininfstd' % x.key]##INF, OCT-MAR, STD
0366: #x.snowinf_stds = std_estimates['%s_snowinfstd' % x.key]##INF, APR-JUL, STD
0367: #x.baseinf_stds = std_estimates['%s_baseinfstd' % x.key]##INF, AUG-SEPT, STD
0368:
0369: ###Flow shapes are regressions that determine % of remaining flow in a period (Oct-Mar; Apr-Jul; Aug-Sept)
0370: ###that is expected to come, regressed against the total flow already observed in that period
0371: ###regressions are done for each reservoir, and values are calculated for each month (i.e., 33% of remaining Apr-Jul flow comes in May)
0372: #df_flow_shape_no = pd.DataFrame()
+0373: for x in reservoir_list:
__pyx_t_9 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 373, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __pyx_L3:;
+0374: x.create_flow_shapes(self)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_self); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0375: #########################################################################################
0376:
+0377: def initialize_delta_ops(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_11initialize_delta_ops(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_11initialize_delta_ops = {"initialize_delta_ops", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_11initialize_delta_ops, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_11initialize_delta_ops(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_delta_ops (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_10initialize_delta_ops(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_10initialize_delta_ops(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_gains_sac_short = NULL;
PyObject *__pyx_v_gains_sj_short = NULL;
PyObject *__pyx_v_depletions_short = NULL;
PyObject *__pyx_v_eastside_streams_short = NULL;
PyObject *__pyx_v_inflow_list = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_expected_outflow_req = NULL;
PyObject *__pyx_v_expected_depletion = NULL;
PyObject *__pyx_7genexpr__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__6)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_delta_ops", 0);
__Pyx_TraceCall("initialize_delta_ops", __pyx_f[0], 377, 0, __PYX_ERR(0, 377, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_delta_ops", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_gains_sac_short);
__Pyx_XDECREF(__pyx_v_gains_sj_short);
__Pyx_XDECREF(__pyx_v_depletions_short);
__Pyx_XDECREF(__pyx_v_eastside_streams_short);
__Pyx_XDECREF(__pyx_v_inflow_list);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_expected_outflow_req);
__Pyx_XDECREF(__pyx_v_expected_depletion);
__Pyx_XDECREF(__pyx_7genexpr__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__91 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_gains_sac_short, __pyx_n_s_gains_sj_short, __pyx_n_s_depletions_short, __pyx_n_s_eastside_streams_short, __pyx_n_s_inflow_list, __pyx_n_s_x, __pyx_n_s_expected_outflow_req, __pyx_n_s_expected_depletion, __pyx_n_s__12); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__91);
__Pyx_GIVEREF(__pyx_tuple__91);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_11initialize_delta_ops, 0, __pyx_n_s_Model_initialize_delta_ops, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_delta_ops, __pyx_t_2) < 0) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(1, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_delta_ops, 377, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 377, __pyx_L1_error)
0378: #########################################################################################
0379: ##initialization of the delta rules
0380: #########################################################################################
+0381: self.delta = Delta(self, 'delta', 'DEL', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_delta); __Pyx_GIVEREF(__pyx_n_u_delta); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_delta); __Pyx_INCREF(__pyx_n_u_DEL); __Pyx_GIVEREF(__pyx_n_u_DEL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_DEL); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8delta_cy_Delta), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_delta, __pyx_t_1) < 0) __PYX_ERR(0, 381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0382:
+0383: if self.use_sensitivity:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 383, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+0384: self.delta.set_sensitivity_factors(self.sensitivity_factors['delta_outflow_multiplier']['realization'], self.sensitivity_factors['omr_flow']['realization'], self.sensitivity_factors['omr_probability']['realization'])
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_set_sensitivity_factors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_delta_outflow_multiplier); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_realization); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_omr_flow); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_realization); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_omr_probability); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_realization); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_2, __pyx_t_5, __pyx_t_6}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_2, __pyx_t_5, __pyx_t_6}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_t_6); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0385:
0386: ###Find expected reservoir releases to meet delta requirements - used in flow forecasting
0387: ###these use the flow 'gains' on each tributary stretch to find the expected extra releases required to meet env & delta mins
+0388: gains_sac_short = self.df_short.SAC_gains * cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SAC_gains); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyNumber_Multiply(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_gains_sac_short = __pyx_t_9; __pyx_t_9 = 0;
+0389: gains_sj_short = self.df_short.SJ_gains * cfs_tafd
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_SJ_gains); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_gains_sj_short = __pyx_t_4; __pyx_t_4 = 0;
+0390: depletions_short = self.df_short.delta_depletions * cfs_tafd
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_delta_depletions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyNumber_Multiply(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_depletions_short = __pyx_t_1; __pyx_t_1 = 0;
+0391: eastside_streams_short = self.df_short.EAST_gains * cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_EAST_gains); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyNumber_Multiply(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_eastside_streams_short = __pyx_t_9; __pyx_t_9 = 0;
+0392: inflow_list = [self.shasta, self.folsom, self.yuba, self.oroville, self.newmelones, self.donpedro, self.exchequer]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = PyList_New(7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 392, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_10, 3, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_10, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_10, 5, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_10, 6, __pyx_t_7); __pyx_t_9 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_v_inflow_list = ((PyObject*)__pyx_t_10); __pyx_t_10 = 0;
+0393: for x in inflow_list:
__pyx_t_10 = __pyx_v_inflow_list; __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 393, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_10, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0394: x.downstream_short = [_ * cfs_tafd for _ in self.df_short['%s_gains'% x.key].values]
{ /* enter inner scope */
__pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_s_gains, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_values); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
} else {
__pyx_t_12 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_13 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 394, __pyx_L8_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
if (likely(!__pyx_t_13)) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 394, __pyx_L8_error)
#else
__pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 394, __pyx_L8_error)
#else
__pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
} else {
__pyx_t_6 = __pyx_t_13(__pyx_t_5);
if (unlikely(!__pyx_t_6)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 394, __pyx_L8_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_6);
}
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v__, __pyx_t_6);
__pyx_t_6 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = PyNumber_Multiply(__pyx_7genexpr__pyx_v__, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 394, __pyx_L8_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v__); __pyx_7genexpr__pyx_v__ = 0;
goto __pyx_L11_exit_scope;
__pyx_L8_error:;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v__); __pyx_7genexpr__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L11_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_downstream_short, __pyx_t_7) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0395:
0396: ##in addition to output variables, this generates:
0397: #self.max_tax_free (5x2x365) - using delta outflow min, calculate how much pumping can occur without paying any additional I/E 'tax' (b/c some inflow is already used for delta outflow requirements)
+0398: expected_outflow_req, expected_depletion = self.delta.calc_expected_delta_outflow(self,self.shasta.downstream_short,self.oroville.downstream_short,self.yuba.downstream_short,self.folsom.downstream_short, self.shasta.temp_releases, self.oroville.temp_releases, self.yuba.temp_releases, self.folsom.temp_releases, gains_sac_short, gains_sj_short, depletions_short, eastside_streams_short)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_calc_expected_delta_outflow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_downstream_short); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_downstream_short); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_downstream_short); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_downstream_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_temp_releases); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_temp_releases); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_temp_releases); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_temp_releases); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[14] = {__pyx_t_7, __pyx_v_self, __pyx_t_2, __pyx_t_6, __pyx_t_4, __pyx_t_1, __pyx_t_9, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_v_gains_sac_short, __pyx_v_gains_sj_short, __pyx_v_depletions_short, __pyx_v_eastside_streams_short}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 13+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[14] = {__pyx_t_7, __pyx_v_self, __pyx_t_2, __pyx_t_6, __pyx_t_4, __pyx_t_1, __pyx_t_9, __pyx_t_14, __pyx_t_15, __pyx_t_16, __pyx_v_gains_sac_short, __pyx_v_gains_sj_short, __pyx_v_depletions_short, __pyx_v_eastside_streams_short}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 13+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } else #endif { __pyx_t_17 = PyTuple_New(13+__pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_8, __pyx_v_self); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_8, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_8, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_8, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_8, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_17, 7+__pyx_t_8, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 8+__pyx_t_8, __pyx_t_16); __Pyx_INCREF(__pyx_v_gains_sac_short); __Pyx_GIVEREF(__pyx_v_gains_sac_short); PyTuple_SET_ITEM(__pyx_t_17, 9+__pyx_t_8, __pyx_v_gains_sac_short); __Pyx_INCREF(__pyx_v_gains_sj_short); __Pyx_GIVEREF(__pyx_v_gains_sj_short); PyTuple_SET_ITEM(__pyx_t_17, 10+__pyx_t_8, __pyx_v_gains_sj_short); __Pyx_INCREF(__pyx_v_depletions_short); __Pyx_GIVEREF(__pyx_v_depletions_short); PyTuple_SET_ITEM(__pyx_t_17, 11+__pyx_t_8, __pyx_v_depletions_short); __Pyx_INCREF(__pyx_v_eastside_streams_short); __Pyx_GIVEREF(__pyx_v_eastside_streams_short); PyTuple_SET_ITEM(__pyx_t_17, 12+__pyx_t_8, __pyx_v_eastside_streams_short); __pyx_t_2 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_9 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_17, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { PyObject* sequence = __pyx_t_10; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 398, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_17 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_17 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_17); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_17 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_18 = Py_TYPE(__pyx_t_16)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_18(__pyx_t_16); if (unlikely(!__pyx_t_5)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_17 = __pyx_t_18(__pyx_t_16); if (unlikely(!__pyx_t_17)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_17); if (__Pyx_IternextUnpackEndCheck(__pyx_t_18(__pyx_t_16), 2) < 0) __PYX_ERR(0, 398, __pyx_L1_error) __pyx_t_18 = NULL; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_18 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 398, __pyx_L1_error) __pyx_L13_unpacking_done:; } __pyx_v_expected_outflow_req = __pyx_t_5; __pyx_t_5 = 0; __pyx_v_expected_depletion = __pyx_t_17; __pyx_t_17 = 0;
0399: #these requirements are then passed back to the reservoirs so that they know how much water to hold on to
0400: #Calculated the expected releases for environmental flows & delta outflow requirements
0401: #pre-processed to help with forecasts of available storage for export
0402: ##Yuba has an extra flow catagorization for environmental minimum flows,
0403: ## 'extra critical' - use critical year delta outflow requirements in that year type
+0404: expected_outflow_req = self.delta.min_outflow
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_expected_outflow_req, __pyx_t_17); __pyx_t_17 = 0;
+0405: expected_outflow_req['EC'] = expected_outflow_req['C']
__pyx_t_17 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_outflow_req, __pyx_n_u_C); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (unlikely(PyObject_SetItem(__pyx_v_expected_outflow_req, __pyx_n_u_EC, __pyx_t_17) < 0)) __PYX_ERR(0, 405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
0406: #generates:
0407: #x.cum_min_release (5 x 365) - daily values of remaining enviromental releases through the end of july, in each wyt
0408: #x.aug_sept_min_release (5 x 365) - daily values of remaining enviromental releases during the aug-sept period, in each wyt
0409: #x.oct_nov_min_release (5 x 365) - daily values of remaining enviromental releases during the oct-nov period, in each wyt
+0410: for x in inflow_list:
__pyx_t_17 = __pyx_v_inflow_list; __Pyx_INCREF(__pyx_t_17); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_11); __Pyx_INCREF(__pyx_t_10); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 410, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_17, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+0411: x.calc_expected_min_release(self, expected_outflow_req, expected_depletion, 0)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_expected_min_release); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_16, __pyx_v_self, __pyx_v_expected_outflow_req, __pyx_v_expected_depletion, __pyx_int_0}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_16, __pyx_v_self, __pyx_v_expected_outflow_req, __pyx_v_expected_depletion, __pyx_int_0}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_15 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_8, __pyx_v_self); __Pyx_INCREF(__pyx_v_expected_outflow_req); __Pyx_GIVEREF(__pyx_v_expected_outflow_req); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_8, __pyx_v_expected_outflow_req); __Pyx_INCREF(__pyx_v_expected_depletion); __Pyx_GIVEREF(__pyx_v_expected_depletion); PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_8, __pyx_v_expected_depletion); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_8, __pyx_int_0); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_15, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
0412:
+0413: self.delta.create_flow_shapes_omr(self)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_create_flow_shapes_omr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_17 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
0414:
+0415: def initialize_southern_res(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_13initialize_southern_res(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_13initialize_southern_res = {"initialize_southern_res", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_13initialize_southern_res, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_13initialize_southern_res(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_southern_res (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_12initialize_southern_res(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_12initialize_southern_res(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_reservoir_list = NULL;
PyObject *__pyx_v_expected_outflow_releases = NULL;
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_v_inflow_list = NULL;
long __pyx_v_sjrr_toggle_value;
PyObject *__pyx_8genexpr1__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__7)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_southern_res", 0);
__Pyx_TraceCall("initialize_southern_res", __pyx_f[0], 415, 0, __PYX_ERR(0, 415, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_southern_res", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_reservoir_list);
__Pyx_XDECREF(__pyx_v_expected_outflow_releases);
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XDECREF(__pyx_v_inflow_list);
__Pyx_XDECREF(__pyx_8genexpr1__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__92 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_x, __pyx_n_s_reservoir_list, __pyx_n_s_expected_outflow_releases, __pyx_n_s_wyt, __pyx_n_s_inflow_list, __pyx_n_s_sjrr_toggle_value, __pyx_n_s__12); if (unlikely(!__pyx_tuple__92)) __PYX_ERR(0, 415, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__92);
__Pyx_GIVEREF(__pyx_tuple__92);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_13initialize_southern_res, 0, __pyx_n_s_Model_initialize_southern_res, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 415, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_southern_res, __pyx_t_2) < 0) __PYX_ERR(0, 415, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__92, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_southern_res, 415, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 415, __pyx_L1_error)
0416: ############################################################################
0417: ###Reservoir Initialization
0418: ############################################################################
+0419: self.millerton = Reservoir(self, 'millerton', 'MIL', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_millerton); __Pyx_GIVEREF(__pyx_n_u_millerton); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_millerton); __Pyx_INCREF(__pyx_n_u_MIL); __Pyx_GIVEREF(__pyx_n_u_MIL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_MIL); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 419, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_millerton, __pyx_t_1) < 0) __PYX_ERR(0, 419, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0420: self.pineflat = Reservoir(self, 'pineflat', 'PFT', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_pineflat); __Pyx_GIVEREF(__pyx_n_u_pineflat); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_pineflat); __Pyx_INCREF(__pyx_n_u_PFT); __Pyx_GIVEREF(__pyx_n_u_PFT); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_PFT); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pineflat, __pyx_t_1) < 0) __PYX_ERR(0, 420, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0421: self.kaweah = Reservoir(self, 'kaweah', 'KWH', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kaweah); __Pyx_GIVEREF(__pyx_n_u_kaweah); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_kaweah); __Pyx_INCREF(__pyx_n_u_KWH); __Pyx_GIVEREF(__pyx_n_u_KWH); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_KWH); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kaweah, __pyx_t_1) < 0) __PYX_ERR(0, 421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0422: self.success = Reservoir(self, 'success', 'SUC', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 422, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_success); __Pyx_GIVEREF(__pyx_n_u_success); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_success); __Pyx_INCREF(__pyx_n_u_SUC); __Pyx_GIVEREF(__pyx_n_u_SUC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SUC); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 422, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_success, __pyx_t_1) < 0) __PYX_ERR(0, 422, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0423: self.isabella = Reservoir(self, 'isabella', 'ISB', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_isabella); __Pyx_GIVEREF(__pyx_n_u_isabella); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_isabella); __Pyx_INCREF(__pyx_n_u_ISB); __Pyx_GIVEREF(__pyx_n_u_ISB); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_ISB); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_isabella, __pyx_t_1) < 0) __PYX_ERR(0, 423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0424: ###San Luis is initialized as a Reservoir, but
0425: ###has none of the watershed data that goes along with the other reservoirs
+0426: self.sanluis = Reservoir(self, 'sanluis', 'SNL', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_sanluis); __Pyx_GIVEREF(__pyx_n_u_sanluis); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_sanluis); __Pyx_INCREF(__pyx_n_u_SNL); __Pyx_GIVEREF(__pyx_n_u_SNL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SNL); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sanluis, __pyx_t_1) < 0) __PYX_ERR(0, 426, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0427: self.sanluisstate = Reservoir(self, 'sanluisstate', 'SLS', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_sanluisstate); __Pyx_GIVEREF(__pyx_n_u_sanluisstate); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_sanluisstate); __Pyx_INCREF(__pyx_n_u_SLS); __Pyx_GIVEREF(__pyx_n_u_SLS); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SLS); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate, __pyx_t_1) < 0) __PYX_ERR(0, 427, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0428: self.sanluisfederal = Reservoir(self, 'sanluisfederal', 'SLF', self.model_mode)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_sanluisfederal); __Pyx_GIVEREF(__pyx_n_u_sanluisfederal); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_sanluisfederal); __Pyx_INCREF(__pyx_n_u_SLF); __Pyx_GIVEREF(__pyx_n_u_SLF); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SLF); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12reservoir_cy_Reservoir), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal, __pyx_t_1) < 0) __PYX_ERR(0, 428, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0429: self.reservoir_list = [self.sanluisstate, self.sanluisfederal, self.millerton, self.isabella, self.success, self.kaweah, self.pineflat]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyList_New(7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_8, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_8, 6, __pyx_t_7); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list, __pyx_t_8) < 0) __PYX_ERR(0, 429, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0430: if self.model_mode == 'climate_ensemble':
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_8, __pyx_n_u_climate_ensemble, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L3; }
0431: ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
+0432: for x in [self.pineflat, self.kaweah, self.success, self.isabella, self.millerton]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 4, __pyx_t_4); __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (__pyx_t_10 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 432, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0433: x.find_release_func(self)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0434: for x in [self.pineflat, self.millerton, self.isabella, self.success, self.kaweah]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_t_7); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (__pyx_t_10 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_10); __Pyx_INCREF(__pyx_t_8); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0435: x.create_flow_shapes(self)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0436: elif self.model_mode == 'validation': ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 436, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L3; }
0437: # df_res_process = pd.DataFrame()
0438: # df_res_annual = pd.DataFrame()
+0439: for x in [self.pineflat, self.kaweah, self.success, self.isabella, self.millerton]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 4, __pyx_t_3); __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (__pyx_t_10 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 439, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0440: x.find_release_func(self)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0441: # df_res_process['%s_rainfnf' %x.key] = pd.Series(x.rainflood_fnf, index = self.index)
0442: # df_res_process['%s_snowfnf' %x.key] = pd.Series(x.snowflood_fnf, index = self.index)
0443: # df_res_process['%s_raininf' %x.key] = pd.Series(x.rainflood_inf, index = self.index)
0444: # df_res_process['%s_snowinf' %x.key] = pd.Series(x.snowflood_inf, index = self.index)
0445: # df_res_process['%s_baseinf' %x.key] = pd.Series(x.baseline_inf, index = self.index)
0446: #
0447: # df_res_annual['%s_rainfnfstd' % x.key] = pd.Series(x.rainfnf_stds)
0448: # df_res_annual['%s_snowfnfstd' % x.key] = pd.Series(x.snowfnf_stds)
0449: # df_res_annual['%s_raininfstd' % x.key] = pd.Series(x.raininf_stds)
0450: # df_res_annual['%s_snowinfstd' % x.key] = pd.Series(x.snowinf_stds)
0451: # df_res_annual['%s_baseinfstd' % x.key] = pd.Series(x.baseinf_stds)
0452: # df_res_process.to_csv('calfews_src/data/input/temp_output/res_preprocess_daily.csv')
0453: # df_res_annual.to_csv('calfews_src/data/input/temp_output/res_presprocess_annual.csv')
0454:
0455: ##Regression flow & standard deviations read from file (see end of function for code to generate files)
0456: #flow_estimates = pd.read_csv('calfews_src/data/input/temp_output/res_preprocess_daily.csv', index_col=0, parse_dates=True)
0457: #std_estimates = pd.read_csv('calfews_src/data/input/temp_output/res_presprocess_annual.csv')
0458: #### Find regression information for all 8 reservoirs
0459: ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
0460: #for x in [self.pineflat, self.kaweah, self.success, self.isabella, self.millerton]:
0461: #x.rainflood_fnf = flow_estimates['%s_rainfnf' % x.key]#FNF, Oct-Mar, Linear coefficients
0462: #x.snowflood_fnf = flow_estimates['%s_snowfnf' % x.key]#FNF, Apr-Jul, Linear coefficients
0463: #x.rainflood_inf = flow_estimates['%s_raininf' % x.key]#INF, Oct-Mar, Linear coefficients
0464: #x.snowflood_inf = flow_estimates['%s_snowinf' % x.key]#INF, Apr-Jul, Linear coefficients
0465: #x.baseline_inf = flow_estimates['%s_baseinf' % x.key]#INF, Aug-Sept, Linear coefficients
0466: #x.rainfnf_stds = std_estimates['%s_rainfnfstd' % x.key]#FNF, Oct-Mar, STD
0467: #x.snowfnf_stds = std_estimates['%s_snowfnfstd' % x.key]#FNF, Apr-Jul, STD
0468: #x.raininf_stds = std_estimates['%s_raininfstd' % x.key]#INF, Oct-Mar, STD
0469: #x.snowinf_stds = std_estimates['%s_snowinfstd' % x.key]#INF, Apr-Jul, STD
0470: #x.baseinf_stds = std_estimates['%s_baseinfstd' % x.key]#INF, Aug-Sept, STD
0471:
0472: ###Flow shapes are regressions that determine % of remaining flow in a period (Oct-Mar; Apr-Jul; Aug-Sept)
0473: ###that is expected to come, regressed against the total flow already observed in that period
0474: ###regressions are done for each reservoir, and values are calculated for each month (i.e., 33% of remaining Apr-Jul flow comes in May)
+0475: for x in [self.pineflat, self.millerton, self.isabella, self.success, self.kaweah]:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_8); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_8 = 0; __pyx_t_8 = __pyx_t_7; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (__pyx_t_10 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 475, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0476: x.create_flow_shapes(self)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_7 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0477: else:
0478: ### 5 sets of daily linear coefficients & standard devations at each reservoir - (2x2) FNF/INFLOWS x OCT-MAR/APR-JUL + (1) INFLOWS AUG-SEPT
+0479: reservoir_list = [self.millerton, self.isabella, self.pineflat, self.kaweah, self.success]
/*else*/ {
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = PyList_New(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_8);
PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_8);
__Pyx_GIVEREF(__pyx_t_7);
PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_7);
__Pyx_GIVEREF(__pyx_t_6);
PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_6);
__Pyx_GIVEREF(__pyx_t_5);
PyList_SET_ITEM(__pyx_t_3, 3, __pyx_t_5);
__Pyx_GIVEREF(__pyx_t_4);
PyList_SET_ITEM(__pyx_t_3, 4, __pyx_t_4);
__pyx_t_8 = 0;
__pyx_t_7 = 0;
__pyx_t_6 = 0;
__pyx_t_5 = 0;
__pyx_t_4 = 0;
__pyx_v_reservoir_list = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
0480: # df_res_process = pd.DataFrame()
0481: # df_res_annual = pd.DataFrame()
+0482: for x in reservoir_list:
__pyx_t_3 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 482, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0483: x.find_release_func(self)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0484: # df_res_process['%s_rainfnf' %x.key] = pd.Series(x.rainflood_fnf, index = self.index)
0485: # df_res_process['%s_snowfnf' %x.key] = pd.Series(x.snowflood_fnf, index = self.index)
0486: # df_res_process['%s_raininf' %x.key] = pd.Series(x.rainflood_inf, index = self.index)
0487: # df_res_process['%s_snowinf' %x.key] = pd.Series(x.snowflood_inf, index = self.index)
0488: # df_res_process['%s_baseinf' %x.key] = pd.Series(x.baseline_inf, index = self.index)
0489: #
0490: # df_res_annual['%s_rainfnfstd' % x.key] = pd.Series(x.rainfnf_stds)
0491: # df_res_annual['%s_snowfnfstd' % x.key] = pd.Series(x.snowfnf_stds)
0492: # df_res_annual['%s_raininfstd' % x.key] = pd.Series(x.raininf_stds)
0493: # df_res_annual['%s_snowinfstd' % x.key] = pd.Series(x.snowinf_stds)
0494: # df_res_annual['%s_baseinfstd' % x.key] = pd.Series(x.baseinf_stds)
0495: # df_res_process.to_csv('calfews_src/data/input/temp_output/so_res_preprocess_simulation_daily.csv')
0496: # df_res_annual.to_csv('calfews_src/data/input/temp_output/so_res_preprocess_simulation_annual.csv')
0497:
0498: #flow_estimates = pd.read_csv('calfews_src/data/input/temp_output/so_res_preprocess_simulation_daily.csv')
0499: #std_estimates = pd.read_csv('calfews_src/data/input/temp_output/so_res_preprocess_simulation_annual.csv')
0500: #for x in reservoir_list:
0501: #x.rainflood_fnf = flow_estimates['%s_rainfnf' % x.key]##FNF, OCT-MAR, LINEAR COEF
0502: #x.snowflood_fnf = flow_estimates['%s_snowfnf' % x.key]##FNF, APR-JUL, LINEAR COEF
0503: #x.rainflood_inf = flow_estimates['%s_raininf' % x.key]##INF, OCT-MAR, LINEAR COEF
0504: #x.snowflood_inf = flow_estimates['%s_snowinf' % x.key]##INF, APR-JUL, LINEAR COEF
0505: #x.baseline_inf = flow_estimates['%s_baseinf' % x.key]##INF, AUG-SEPT, LINEAR COEF
0506: #x.rainfnf_stds = std_estimates['%s_rainfnfstd' % x.key]##FNF, OCT-MAR, STD
0507: #x.snowfnf_stds = std_estimates['%s_snowfnfstd' % x.key]##FNF, APR-JUL, STD
0508: #x.raininf_stds = std_estimates['%s_raininfstd' % x.key]##INF, OCT-MAR, STD
0509: #x.snowinf_stds = std_estimates['%s_snowinfstd' % x.key]##INF, APR-JUL, STD
0510: #x.baseinf_stds = std_estimates['%s_baseinfstd' % x.key]##INF, AUG-SEPT, STD
0511:
0512: ###Flow shapes are regressions that determine % of remaining flow in a period (Oct-Mar; Apr-Jul; Aug-Sept)
0513: ###that is expected to come, regressed against the total flow already observed in that period
0514: ###regressions are done for each reservoir, and values are calculated for each month (i.e., 33% of remaining Apr-Jul flow comes in May)
+0515: for x in reservoir_list:
__pyx_t_3 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 515, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:;
+0516: x.create_flow_shapes(self)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_create_flow_shapes); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
0517: #########################################################################################
0518:
0519: #Tulare Basin Reservoirs do not need to release to the delta, so they only use their own
0520: #environmental flow requirements when calculating expected environmental releases
0521: #arguements passed into the function here are equal to zero
+0522: expected_outflow_releases = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_expected_outflow_releases = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+0523: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_3 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 523, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__8 = PyTuple_Pack(5, __pyx_n_u_W, __pyx_n_u_AN, __pyx_n_u_BN, __pyx_n_u_D, __pyx_n_u_C); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 523, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8);
+0524: expected_outflow_releases[wyt] = np.zeros(366)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_int_366) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_int_366); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyDict_SetItem(__pyx_v_expected_outflow_releases, __pyx_v_wyt, __pyx_t_4) < 0)) __PYX_ERR(0, 524, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0525: inflow_list = [self.millerton, self.pineflat, self.kaweah, self.success, self.isabella]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyList_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_8, 4, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_v_inflow_list = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0;
+0526: for x in inflow_list:
__pyx_t_8 = __pyx_v_inflow_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 526, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0527: x.downstream_short = [_ * cfs_tafd for _ in self.df_short['%s_gains'% x.key].values]
{ /* enter inner scope */
__pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_s_gains, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = 0;
__pyx_t_12 = NULL;
} else {
__pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_12 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 527, __pyx_L22_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
if (likely(!__pyx_t_12)) {
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 527, __pyx_L22_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 527, __pyx_L22_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
} else {
__pyx_t_4 = __pyx_t_12(__pyx_t_6);
if (unlikely(!__pyx_t_4)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 527, __pyx_L22_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_4);
}
__Pyx_XDECREF_SET(__pyx_8genexpr1__pyx_v__, __pyx_t_4);
__pyx_t_4 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = PyNumber_Multiply(__pyx_8genexpr1__pyx_v__, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 527, __pyx_L22_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_8genexpr1__pyx_v__); __pyx_8genexpr1__pyx_v__ = 0;
goto __pyx_L25_exit_scope;
__pyx_L22_error:;
__Pyx_XDECREF(__pyx_8genexpr1__pyx_v__); __pyx_8genexpr1__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L25_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_downstream_short, __pyx_t_7) < 0) __PYX_ERR(0, 527, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0528:
+0529: for x in inflow_list:
__pyx_t_8 = __pyx_v_inflow_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_7); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 529, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0530: #generates:
0531: #x.cum_min_release (5 x 365) - daily values of remaining enviromental releases through the end of july, in each wyt
0532: #x.aug_sept_min_release (5 x 365) - daily values of remaining enviromental releases during the aug-sept period, in each wyt
0533: #x.oct_nov_min_release (5 x 365) - daily values of remaining enviromental releases during the oct-nov period, in each wyt
+0534: if x.key == "MIL":
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_MIL, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L28; }
+0535: if self.model_mode == 'validation':
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L29; }
+0536: sjrr_toggle_value = 0
__pyx_v_sjrr_toggle_value = 0;
0537: else:
+0538: sjrr_toggle_value = 1
/*else*/ {
__pyx_v_sjrr_toggle_value = 1;
}
__pyx_L29:;
+0539: x.calc_expected_min_release(self, expected_outflow_releases, np.zeros(12), sjrr_toggle_value)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_expected_min_release); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_12); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_sjrr_toggle_value); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_5, __pyx_t_3}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_5, __pyx_t_3}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_2 = PyTuple_New(4+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_13, __pyx_v_self); __Pyx_INCREF(__pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_v_expected_outflow_releases); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_13, __pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_13, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_13, __pyx_t_3); __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0540: else:
+0541: x.calc_expected_min_release(self, expected_outflow_releases, np.zeros(12), 0)
/*else*/ {
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_expected_min_release); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_12);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
__pyx_t_13 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_13 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_2, __pyx_int_0};
__pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[5] = {__pyx_t_5, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_2, __pyx_int_0};
__pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 4+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_3 = PyTuple_New(4+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_13, __pyx_v_self);
__Pyx_INCREF(__pyx_v_expected_outflow_releases);
__Pyx_GIVEREF(__pyx_v_expected_outflow_releases);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_13, __pyx_v_expected_outflow_releases);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_13, __pyx_t_2);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_13, __pyx_int_0);
__pyx_t_2 = 0;
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_L28:;
0542:
0543: ##Code to calculate snow/flow regressions and save to file
0544: ############################################################################
+0545: self.pineflat.find_release_func(self)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0546: self.kaweah.find_release_func(self)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_8 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0547: self.success.find_release_func(self)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0548: self.isabella.find_release_func(self)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_8 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_self); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0549: self.millerton.find_release_func(self)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_find_release_func); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_8 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_self); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0550: # df_res_process = pd.DataFrame()
0551: # df_res_annual = pd.DataFrame()
0552: # for x in [self.pineflat, self.kaweah, self.success, self.isabella, self.millerton]:
0553: # df_res_process['%s_rainfnf' % x.key] = pd.Series(x.rainflood_fnf, index = self.index)
0554: # df_res_process['%s_snowfnf' % x.key] = pd.Series(x.snowflood_fnf, index = self.index)
0555: # df_res_process['%s_raininf' % x.key] = pd.Series(x.rainflood_inf, index = self.index)
0556: # df_res_process['%s_snowinf' % x.key] = pd.Series(x.snowflood_inf, index = self.index)
0557: # df_res_process['%s_baseinf' % x.key] = pd.Series(x.baseline_inf, index = self.index)
0558: # df_res_annual['%s_rainfnfstd' % x.key] = pd.Series(x.rainfnf_stds)
0559: # df_res_annual['%s_snowfnfstd' % x.key] = pd.Series(x.snowfnf_stds)
0560: # df_res_annual['%s_raininfstd' % x.key] = pd.Series(x.raininf_stds)
0561: # df_res_annual['%s_snowinfstd' % x.key] = pd.Series(x.snowinf_stds)
0562: # df_res_annual['%s_baseinfstd' % x.key] = pd.Series(x.baseinf_stds)
0563: # df_res_process.to_csv('calfews_src/data/input/temp_output/res_preprocess_daily.csv')
0564: # df_res_annual.to_csv('calfews_src/data/input/temp_output/res_presprocess_annual.csv')
0565:
+0566: def initialize_water_districts(self, scenario = 'baseline'):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_15initialize_water_districts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_15initialize_water_districts = {"initialize_water_districts", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_15initialize_water_districts, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_15initialize_water_districts(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_water_districts (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scenario,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject*)__pyx_n_u_baseline));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario);
if (value) { values[1] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "initialize_water_districts") < 0)) __PYX_ERR(0, 566, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_scenario = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("initialize_water_districts", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 566, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_water_districts", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_14initialize_water_districts(__pyx_self, __pyx_v_self, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_14initialize_water_districts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_scenario) {
PyObject *__pyx_v_districts_included = NULL;
PyObject *__pyx_v_private_included = NULL;
PyObject *__pyx_v_city_included = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__9)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_water_districts", 0);
__Pyx_TraceCall("initialize_water_districts", __pyx_f[0], 566, 0, __PYX_ERR(0, 566, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_27);
__Pyx_XDECREF(__pyx_t_28);
__Pyx_XDECREF(__pyx_t_29);
__Pyx_XDECREF(__pyx_t_30);
__Pyx_XDECREF(__pyx_t_31);
__Pyx_XDECREF(__pyx_t_32);
__Pyx_XDECREF(__pyx_t_33);
__Pyx_XDECREF(__pyx_t_34);
__Pyx_XDECREF(__pyx_t_35);
__Pyx_XDECREF(__pyx_t_36);
__Pyx_XDECREF(__pyx_t_37);
__Pyx_XDECREF(__pyx_t_38);
__Pyx_XDECREF(__pyx_t_39);
__Pyx_XDECREF(__pyx_t_40);
__Pyx_XDECREF(__pyx_t_41);
__Pyx_XDECREF(__pyx_t_42);
__Pyx_XDECREF(__pyx_t_43);
__Pyx_XDECREF(__pyx_t_44);
__Pyx_XDECREF(__pyx_t_45);
__Pyx_XDECREF(__pyx_t_46);
__Pyx_XDECREF(__pyx_t_47);
__Pyx_XDECREF(__pyx_t_48);
__Pyx_XDECREF(__pyx_t_49);
__Pyx_XDECREF(__pyx_t_50);
__Pyx_XDECREF(__pyx_t_51);
__Pyx_XDECREF(__pyx_t_52);
__Pyx_XDECREF(__pyx_t_53);
__Pyx_XDECREF(__pyx_t_54);
__Pyx_XDECREF(__pyx_t_55);
__Pyx_XDECREF(__pyx_t_56);
__Pyx_XDECREF(__pyx_t_57);
__Pyx_XDECREF(__pyx_t_58);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_water_districts", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_districts_included);
__Pyx_XDECREF(__pyx_v_private_included);
__Pyx_XDECREF(__pyx_v_city_included);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__93 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_scenario, __pyx_n_s_districts_included, __pyx_n_s_private_included, __pyx_n_s_city_included, __pyx_n_s_x, __pyx_n_s_xx); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__93);
__Pyx_GIVEREF(__pyx_tuple__93);
__pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_water_districts, 566, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 566, __pyx_L1_error)
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_15initialize_water_districts, 0, __pyx_n_s_Model_initialize_water_districts, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__94);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_water_districts, __pyx_t_2) < 0) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__94 = PyTuple_Pack(1, ((PyObject*)__pyx_n_u_baseline)); if (unlikely(!__pyx_tuple__94)) __PYX_ERR(0, 566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__94);
__Pyx_GIVEREF(__pyx_tuple__94);
0567: ############################################################################
0568: ###District Initialization
0569: ############################################################################
0570: ##Kern County Water Agency Member Units
+0571: self.berrenda = District(self, 'berrenda', 'BDM')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_berrenda); __Pyx_GIVEREF(__pyx_n_u_berrenda); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_berrenda); __Pyx_INCREF(__pyx_n_u_BDM); __Pyx_GIVEREF(__pyx_n_u_BDM); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_BDM); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_berrenda, __pyx_t_2) < 0) __PYX_ERR(0, 571, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0572: self.belridge = District(self, 'belridge', 'BLR')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_belridge); __Pyx_GIVEREF(__pyx_n_u_belridge); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_belridge); __Pyx_INCREF(__pyx_n_u_BLR); __Pyx_GIVEREF(__pyx_n_u_BLR); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_BLR); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_belridge, __pyx_t_1) < 0) __PYX_ERR(0, 572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0573: self.buenavista = District(self, 'buenavista', 'BVA')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_buenavista); __Pyx_GIVEREF(__pyx_n_u_buenavista); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_buenavista); __Pyx_INCREF(__pyx_n_u_BVA); __Pyx_GIVEREF(__pyx_n_u_BVA); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_BVA); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_buenavista, __pyx_t_2) < 0) __PYX_ERR(0, 573, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0574: self.cawelo = District(self, 'cawelo', 'CWO')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_cawelo); __Pyx_GIVEREF(__pyx_n_u_cawelo); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_cawelo); __Pyx_INCREF(__pyx_n_u_CWO); __Pyx_GIVEREF(__pyx_n_u_CWO); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CWO); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cawelo, __pyx_t_1) < 0) __PYX_ERR(0, 574, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0575: self.henrymiller = District(self, 'henrymiller', 'HML')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_henrymiller); __Pyx_GIVEREF(__pyx_n_u_henrymiller); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_henrymiller); __Pyx_INCREF(__pyx_n_u_HML); __Pyx_GIVEREF(__pyx_n_u_HML); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_HML); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_henrymiller, __pyx_t_2) < 0) __PYX_ERR(0, 575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0576: self.ID4 = District(self, 'ID4', 'ID4')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_ID4); __Pyx_GIVEREF(__pyx_n_u_ID4); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_ID4); __Pyx_INCREF(__pyx_n_u_ID4); __Pyx_GIVEREF(__pyx_n_u_ID4); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_ID4); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ID4, __pyx_t_1) < 0) __PYX_ERR(0, 576, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0577: self.kerndelta = District(self, 'kerndelta', 'KND')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kerndelta); __Pyx_GIVEREF(__pyx_n_u_kerndelta); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kerndelta); __Pyx_INCREF(__pyx_n_u_KND); __Pyx_GIVEREF(__pyx_n_u_KND); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KND); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta, __pyx_t_2) < 0) __PYX_ERR(0, 577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0578: self.losthills = District(self, 'losthills', 'LHL')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_losthills); __Pyx_GIVEREF(__pyx_n_u_losthills); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_losthills); __Pyx_INCREF(__pyx_n_u_LHL); __Pyx_GIVEREF(__pyx_n_u_LHL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_LHL); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_losthills, __pyx_t_1) < 0) __PYX_ERR(0, 578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0579: self.rosedale = District(self, 'rosedale', 'RRB')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_rosedale); __Pyx_GIVEREF(__pyx_n_u_rosedale); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_rosedale); __Pyx_INCREF(__pyx_n_u_RRB); __Pyx_GIVEREF(__pyx_n_u_RRB); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_RRB); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_rosedale, __pyx_t_2) < 0) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0580: self.semitropic = District(self, 'semitropic', 'SMI')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_semitropic); __Pyx_GIVEREF(__pyx_n_u_semitropic); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_semitropic); __Pyx_INCREF(__pyx_n_u_SMI); __Pyx_GIVEREF(__pyx_n_u_SMI); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SMI); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_semitropic, __pyx_t_1) < 0) __PYX_ERR(0, 580, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0581: self.tehachapi = District(self, 'tehachapi', 'THC')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_tehachapi); __Pyx_GIVEREF(__pyx_n_u_tehachapi); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_tehachapi); __Pyx_INCREF(__pyx_n_u_THC); __Pyx_GIVEREF(__pyx_n_u_THC); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_THC); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tehachapi, __pyx_t_2) < 0) __PYX_ERR(0, 581, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0582: self.tejon = District(self, 'tejon', 'TJC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_tejon); __Pyx_GIVEREF(__pyx_n_u_tejon); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_tejon); __Pyx_INCREF(__pyx_n_u_TJC); __Pyx_GIVEREF(__pyx_n_u_TJC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_TJC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tejon, __pyx_t_1) < 0) __PYX_ERR(0, 582, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0583: self.westkern = District(self, 'westkern', 'WKN')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_westkern); __Pyx_GIVEREF(__pyx_n_u_westkern); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_westkern); __Pyx_INCREF(__pyx_n_u_WKN); __Pyx_GIVEREF(__pyx_n_u_WKN); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_WKN); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_westkern, __pyx_t_2) < 0) __PYX_ERR(0, 583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0584: self.wheeler = District(self, 'wheeler', 'WRM')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_wheeler); __Pyx_GIVEREF(__pyx_n_u_wheeler); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_wheeler); __Pyx_INCREF(__pyx_n_u_WRM); __Pyx_GIVEREF(__pyx_n_u_WRM); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_WRM); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wheeler, __pyx_t_1) < 0) __PYX_ERR(0, 584, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0585: self.kcwa = District(self, 'kcwa', 'KCWA')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kcwa); __Pyx_GIVEREF(__pyx_n_u_kcwa); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kcwa); __Pyx_INCREF(__pyx_n_u_KCWA); __Pyx_GIVEREF(__pyx_n_u_KCWA); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KCWA); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kcwa, __pyx_t_2) < 0) __PYX_ERR(0, 585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0586: ##Other Kern County
+0587: self.bakersfield = District(self, 'bakersfield', 'COB')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_bakersfield); __Pyx_GIVEREF(__pyx_n_u_bakersfield); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_bakersfield); __Pyx_INCREF(__pyx_n_u_COB); __Pyx_GIVEREF(__pyx_n_u_COB); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_COB); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_bakersfield, __pyx_t_1) < 0) __PYX_ERR(0, 587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0588: self.northkern = District(self, 'northkern', 'NKN')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_northkern); __Pyx_GIVEREF(__pyx_n_u_northkern); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_northkern); __Pyx_INCREF(__pyx_n_u_NKN); __Pyx_GIVEREF(__pyx_n_u_NKN); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_NKN); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_northkern, __pyx_t_2) < 0) __PYX_ERR(0, 588, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0589: ##Friant Kern Contractors
+0590: self.arvin = District(self, 'arvin', 'ARV')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_arvin); __Pyx_GIVEREF(__pyx_n_u_arvin); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_arvin); __Pyx_INCREF(__pyx_n_u_ARV); __Pyx_GIVEREF(__pyx_n_u_ARV); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_ARV); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_arvin, __pyx_t_1) < 0) __PYX_ERR(0, 590, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0591: self.pixley = District(self, 'pixley', 'PIX')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_pixley); __Pyx_GIVEREF(__pyx_n_u_pixley); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_pixley); __Pyx_INCREF(__pyx_n_u_PIX); __Pyx_GIVEREF(__pyx_n_u_PIX); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_PIX); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pixley, __pyx_t_2) < 0) __PYX_ERR(0, 591, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0592: self.delano = District(self, 'delano', 'DLE')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_delano); __Pyx_GIVEREF(__pyx_n_u_delano); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_delano); __Pyx_INCREF(__pyx_n_u_DLE); __Pyx_GIVEREF(__pyx_n_u_DLE); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_DLE); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_delano, __pyx_t_1) < 0) __PYX_ERR(0, 592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0593: self.exeter = District(self, 'exeter', 'EXE')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_exeter); __Pyx_GIVEREF(__pyx_n_u_exeter); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_exeter); __Pyx_INCREF(__pyx_n_u_EXE); __Pyx_GIVEREF(__pyx_n_u_EXE); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_EXE); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_exeter, __pyx_t_2) < 0) __PYX_ERR(0, 593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0594: self.kerntulare = District(self, 'kerntulare', 'KRT')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kerntulare); __Pyx_GIVEREF(__pyx_n_u_kerntulare); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_kerntulare); __Pyx_INCREF(__pyx_n_u_KRT); __Pyx_GIVEREF(__pyx_n_u_KRT); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_KRT); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kerntulare, __pyx_t_1) < 0) __PYX_ERR(0, 594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0595: self.lindmore = District(self, 'lindmore', 'LND')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_lindmore); __Pyx_GIVEREF(__pyx_n_u_lindmore); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_lindmore); __Pyx_INCREF(__pyx_n_u_LND); __Pyx_GIVEREF(__pyx_n_u_LND); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_LND); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lindmore, __pyx_t_2) < 0) __PYX_ERR(0, 595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0596: self.lindsay = District(self, 'lindsay', 'LDS')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_lindsay); __Pyx_GIVEREF(__pyx_n_u_lindsay); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_lindsay); __Pyx_INCREF(__pyx_n_u_LDS); __Pyx_GIVEREF(__pyx_n_u_LDS); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_LDS); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lindsay, __pyx_t_1) < 0) __PYX_ERR(0, 596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0597: if (scenario == 'baseline'):
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_scenario, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 597, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0598: self.lowertule = District(self, 'lowertule', 'LWT')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_lowertule); __Pyx_GIVEREF(__pyx_n_u_lowertule); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_lowertule); __Pyx_INCREF(__pyx_n_u_LWT); __Pyx_GIVEREF(__pyx_n_u_LWT); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_LWT); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lowertule, __pyx_t_2) < 0) __PYX_ERR(0, 598, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0599: elif (scenario['LWT'] == 'baseline'):
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_scenario, __pyx_n_u_LWT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+0600: self.lowertule = District(self, 'lowertule', 'LWT')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_lowertule); __Pyx_GIVEREF(__pyx_n_u_lowertule); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_lowertule); __Pyx_INCREF(__pyx_n_u_LWT); __Pyx_GIVEREF(__pyx_n_u_LWT); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_LWT); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lowertule, __pyx_t_1) < 0) __PYX_ERR(0, 600, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0601: else:
+0602: self.lowertule = District(self, 'lowertule', 'LWT', scenario['LWT'])
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_scenario, __pyx_n_u_LWT); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self);
__Pyx_INCREF(__pyx_n_u_lowertule);
__Pyx_GIVEREF(__pyx_n_u_lowertule);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_lowertule);
__Pyx_INCREF(__pyx_n_u_LWT);
__Pyx_GIVEREF(__pyx_n_u_LWT);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_LWT);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lowertule, __pyx_t_1) < 0) __PYX_ERR(0, 602, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L3:;
+0603: self.porterville = District(self, 'porterville', 'PRT')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_porterville); __Pyx_GIVEREF(__pyx_n_u_porterville); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_porterville); __Pyx_INCREF(__pyx_n_u_PRT); __Pyx_GIVEREF(__pyx_n_u_PRT); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_PRT); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_porterville, __pyx_t_2) < 0) __PYX_ERR(0, 603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0604: self.saucelito = District(self, 'saucelito', 'SAU')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_saucelito); __Pyx_GIVEREF(__pyx_n_u_saucelito); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_saucelito); __Pyx_INCREF(__pyx_n_u_SAU); __Pyx_GIVEREF(__pyx_n_u_SAU); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SAU); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_saucelito, __pyx_t_1) < 0) __PYX_ERR(0, 604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0605: self.shaffer = District(self, 'shaffer', 'SFW')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_shaffer); __Pyx_GIVEREF(__pyx_n_u_shaffer); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_shaffer); __Pyx_INCREF(__pyx_n_u_SFW); __Pyx_GIVEREF(__pyx_n_u_SFW); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_SFW); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_shaffer, __pyx_t_2) < 0) __PYX_ERR(0, 605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0606: self.sosanjoaquin = District(self, 'sosanjoaquin', 'SSJ')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_sosanjoaquin); __Pyx_GIVEREF(__pyx_n_u_sosanjoaquin); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_sosanjoaquin); __Pyx_INCREF(__pyx_n_u_SSJ); __Pyx_GIVEREF(__pyx_n_u_SSJ); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SSJ); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sosanjoaquin, __pyx_t_1) < 0) __PYX_ERR(0, 606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0607: self.teapot = District(self, 'teapot', 'TPD')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_teapot); __Pyx_GIVEREF(__pyx_n_u_teapot); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_teapot); __Pyx_INCREF(__pyx_n_u_TPD); __Pyx_GIVEREF(__pyx_n_u_TPD); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_TPD); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_teapot, __pyx_t_2) < 0) __PYX_ERR(0, 607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0608: self.terra = District(self, 'terra', 'TBA')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_terra); __Pyx_GIVEREF(__pyx_n_u_terra); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_terra); __Pyx_INCREF(__pyx_n_u_TBA); __Pyx_GIVEREF(__pyx_n_u_TBA); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_TBA); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_terra, __pyx_t_1) < 0) __PYX_ERR(0, 608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0609: self.tulare = District(self, 'tulare', 'TUL')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_tulare); __Pyx_GIVEREF(__pyx_n_u_tulare); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_tulare); __Pyx_INCREF(__pyx_n_u_TUL); __Pyx_GIVEREF(__pyx_n_u_TUL); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_TUL); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tulare, __pyx_t_2) < 0) __PYX_ERR(0, 609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0610: self.fresno = District(self, 'fresno', 'COF')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_fresno); __Pyx_GIVEREF(__pyx_n_u_fresno); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_fresno); __Pyx_INCREF(__pyx_n_u_COF); __Pyx_GIVEREF(__pyx_n_u_COF); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_COF); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fresno, __pyx_t_1) < 0) __PYX_ERR(0, 610, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0611: self.fresnoid = District(self, 'fresnoid', 'FRS')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_fresnoid); __Pyx_GIVEREF(__pyx_n_u_fresnoid); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_fresnoid); __Pyx_INCREF(__pyx_n_u_FRS); __Pyx_GIVEREF(__pyx_n_u_FRS); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_FRS); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fresnoid, __pyx_t_2) < 0) __PYX_ERR(0, 611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0612: ##Canal Boundaries
+0613: self.socal = District(self, 'socal', 'SOC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_socal); __Pyx_GIVEREF(__pyx_n_u_socal); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_socal); __Pyx_INCREF(__pyx_n_u_SOC); __Pyx_GIVEREF(__pyx_n_u_SOC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SOC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_socal, __pyx_t_1) < 0) __PYX_ERR(0, 613, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0614: self.southbay = District(self, 'southbay', 'SOB')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_southbay); __Pyx_GIVEREF(__pyx_n_u_southbay); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_southbay); __Pyx_INCREF(__pyx_n_u_SOB); __Pyx_GIVEREF(__pyx_n_u_SOB); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_SOB); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_southbay, __pyx_t_2) < 0) __PYX_ERR(0, 614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0615: self.centralcoast = District(self, 'centralcoast', 'CCA')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_centralcoast); __Pyx_GIVEREF(__pyx_n_u_centralcoast); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_centralcoast); __Pyx_INCREF(__pyx_n_u_CCA); __Pyx_GIVEREF(__pyx_n_u_CCA); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CCA); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast, __pyx_t_1) < 0) __PYX_ERR(0, 615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0616: ##demands at canal boundaries are taken from observed pumping into canal brannch
0617:
0618: ##Other Agencies
+0619: self.dudleyridge = District(self, 'dudleyridge', 'DLR')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_dudleyridge); __Pyx_GIVEREF(__pyx_n_u_dudleyridge); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_dudleyridge); __Pyx_INCREF(__pyx_n_u_DLR); __Pyx_GIVEREF(__pyx_n_u_DLR); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_DLR); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_dudleyridge, __pyx_t_2) < 0) __PYX_ERR(0, 619, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0620: self.tularelake = District(self, 'tularelake', 'TLB')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_tularelake); __Pyx_GIVEREF(__pyx_n_u_tularelake); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_tularelake); __Pyx_INCREF(__pyx_n_u_TLB); __Pyx_GIVEREF(__pyx_n_u_TLB); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_TLB); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tularelake, __pyx_t_1) < 0) __PYX_ERR(0, 620, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0621: self.kaweahdelta = District(self, 'kaweahdelta', 'KWD')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kaweahdelta); __Pyx_GIVEREF(__pyx_n_u_kaweahdelta); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kaweahdelta); __Pyx_INCREF(__pyx_n_u_KWD); __Pyx_GIVEREF(__pyx_n_u_KWD); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KWD); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kaweahdelta, __pyx_t_2) < 0) __PYX_ERR(0, 621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0622: self.westlands = District(self, 'westlands', 'WSL')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_westlands); __Pyx_GIVEREF(__pyx_n_u_westlands); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_westlands); __Pyx_INCREF(__pyx_n_u_WSL); __Pyx_GIVEREF(__pyx_n_u_WSL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_WSL); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_westlands, __pyx_t_1) < 0) __PYX_ERR(0, 622, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0623: self.sanluiswater = District(self, 'sanluiswater', 'SNL')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_sanluiswater); __Pyx_GIVEREF(__pyx_n_u_sanluiswater); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_sanluiswater); __Pyx_INCREF(__pyx_n_u_SNL); __Pyx_GIVEREF(__pyx_n_u_SNL); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_SNL); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_sanluiswater, __pyx_t_2) < 0) __PYX_ERR(0, 623, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0624: self.panoche = District(self, 'panoche', 'PNC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_panoche); __Pyx_GIVEREF(__pyx_n_u_panoche); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_panoche); __Pyx_INCREF(__pyx_n_u_PNC); __Pyx_GIVEREF(__pyx_n_u_PNC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_PNC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_panoche, __pyx_t_1) < 0) __PYX_ERR(0, 624, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0625: self.delpuerto = District(self, 'delpuerto', 'DLP')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_delpuerto); __Pyx_GIVEREF(__pyx_n_u_delpuerto); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_delpuerto); __Pyx_INCREF(__pyx_n_u_DLP); __Pyx_GIVEREF(__pyx_n_u_DLP); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_DLP); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_delpuerto, __pyx_t_2) < 0) __PYX_ERR(0, 625, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0626: self.chowchilla = District(self, 'chowchilla', 'CWC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_chowchilla); __Pyx_GIVEREF(__pyx_n_u_chowchilla); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_chowchilla); __Pyx_INCREF(__pyx_n_u_CWC); __Pyx_GIVEREF(__pyx_n_u_CWC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CWC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_chowchilla, __pyx_t_1) < 0) __PYX_ERR(0, 626, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0627: self.maderairr = District(self, 'maderairr', 'MAD')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_maderairr); __Pyx_GIVEREF(__pyx_n_u_maderairr); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_maderairr); __Pyx_INCREF(__pyx_n_u_MAD); __Pyx_GIVEREF(__pyx_n_u_MAD); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_MAD); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_maderairr, __pyx_t_2) < 0) __PYX_ERR(0, 627, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0628: self.othertule = District(self, 'othertule', 'OTL')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_othertule); __Pyx_GIVEREF(__pyx_n_u_othertule); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_othertule); __Pyx_INCREF(__pyx_n_u_OTL); __Pyx_GIVEREF(__pyx_n_u_OTL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_OTL); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_othertule, __pyx_t_1) < 0) __PYX_ERR(0, 628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0629: self.otherkaweah = District(self, 'otherkaweah', 'OKW')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_otherkaweah); __Pyx_GIVEREF(__pyx_n_u_otherkaweah); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_otherkaweah); __Pyx_INCREF(__pyx_n_u_OKW); __Pyx_GIVEREF(__pyx_n_u_OKW); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_OKW); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_otherkaweah, __pyx_t_2) < 0) __PYX_ERR(0, 629, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0630: self.otherfriant = District(self, 'otherfriant', 'OFK')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_otherfriant); __Pyx_GIVEREF(__pyx_n_u_otherfriant); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_otherfriant); __Pyx_INCREF(__pyx_n_u_OFK); __Pyx_GIVEREF(__pyx_n_u_OFK); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_OFK); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_otherfriant, __pyx_t_1) < 0) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0631: self.othercvp = District(self, 'othercvp', 'OCD')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_othercvp); __Pyx_GIVEREF(__pyx_n_u_othercvp); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_othercvp); __Pyx_INCREF(__pyx_n_u_OCD); __Pyx_GIVEREF(__pyx_n_u_OCD); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_OCD); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_othercvp, __pyx_t_2) < 0) __PYX_ERR(0, 631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0632: self.otherexchange = District(self, 'otherexchange', 'OEX')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_otherexchange); __Pyx_GIVEREF(__pyx_n_u_otherexchange); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_otherexchange); __Pyx_INCREF(__pyx_n_u_OEX); __Pyx_GIVEREF(__pyx_n_u_OEX); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_OEX); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_otherexchange, __pyx_t_1) < 0) __PYX_ERR(0, 632, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0633: self.othercrossvalley = District(self, 'othercrossvalley', 'OXV')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_othercrossvalley); __Pyx_GIVEREF(__pyx_n_u_othercrossvalley); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_othercrossvalley); __Pyx_INCREF(__pyx_n_u_OXV); __Pyx_GIVEREF(__pyx_n_u_OXV); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_OXV); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_othercrossvalley, __pyx_t_2) < 0) __PYX_ERR(0, 633, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0634: self.otherswp = District(self, 'otherswp', 'OSW')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_otherswp); __Pyx_GIVEREF(__pyx_n_u_otherswp); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_otherswp); __Pyx_INCREF(__pyx_n_u_OSW); __Pyx_GIVEREF(__pyx_n_u_OSW); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_OSW); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_otherswp, __pyx_t_1) < 0) __PYX_ERR(0, 634, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0635: self.consolidated = District(self, 'consolidated', 'CNS')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_consolidated); __Pyx_GIVEREF(__pyx_n_u_consolidated); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_consolidated); __Pyx_INCREF(__pyx_n_u_CNS); __Pyx_GIVEREF(__pyx_n_u_CNS); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_CNS); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_consolidated, __pyx_t_2) < 0) __PYX_ERR(0, 635, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0636: self.alta = District(self, 'alta', 'ALT')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_alta); __Pyx_GIVEREF(__pyx_n_u_alta); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_alta); __Pyx_INCREF(__pyx_n_u_ALT); __Pyx_GIVEREF(__pyx_n_u_ALT); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_ALT); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_alta, __pyx_t_1) < 0) __PYX_ERR(0, 636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0637: self.krwa = District(self, 'krwa', 'KRWA')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_krwa); __Pyx_GIVEREF(__pyx_n_u_krwa); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_krwa); __Pyx_INCREF(__pyx_n_u_KRWA); __Pyx_GIVEREF(__pyx_n_u_KRWA); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KRWA); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11district_cy_District), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_krwa, __pyx_t_2) < 0) __PYX_ERR(0, 637, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0638: # self.krwa.turnback_use = 0
0639:
0640: ##Private water users
+0641: self.wonderful = Private(self, 'wonderful', 'WON', 1.0)
__pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_wonderful); __Pyx_GIVEREF(__pyx_n_u_wonderful); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_wonderful); __Pyx_INCREF(__pyx_n_u_WON); __Pyx_GIVEREF(__pyx_n_u_WON); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_WON); __Pyx_INCREF(__pyx_float_1_0); __Pyx_GIVEREF(__pyx_float_1_0); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_float_1_0); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_10private_cy_Private), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wonderful, __pyx_t_1) < 0) __PYX_ERR(0, 641, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0642: self.metropolitan = Private(self, 'metropolitan', 'MET', 1.0)
__pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_metropolitan); __Pyx_GIVEREF(__pyx_n_u_metropolitan); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_metropolitan); __Pyx_INCREF(__pyx_n_u_MET); __Pyx_GIVEREF(__pyx_n_u_MET); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_MET); __Pyx_INCREF(__pyx_float_1_0); __Pyx_GIVEREF(__pyx_float_1_0); PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_float_1_0); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_10private_cy_Private), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan, __pyx_t_2) < 0) __PYX_ERR(0, 642, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0643: self.castaic = Private(self, 'castaic', 'CTL', 1.0)
__pyx_t_2 = PyTuple_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_castaic); __Pyx_GIVEREF(__pyx_n_u_castaic); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_castaic); __Pyx_INCREF(__pyx_n_u_CTL); __Pyx_GIVEREF(__pyx_n_u_CTL); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CTL); __Pyx_INCREF(__pyx_float_1_0); __Pyx_GIVEREF(__pyx_float_1_0); PyTuple_SET_ITEM(__pyx_t_2, 3, __pyx_float_1_0); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_10private_cy_Private), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_castaic, __pyx_t_1) < 0) __PYX_ERR(0, 643, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0644: self.coachella = Private(self, 'coachella', 'CCH', 1.0)
__pyx_t_1 = PyTuple_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_coachella); __Pyx_GIVEREF(__pyx_n_u_coachella); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_coachella); __Pyx_INCREF(__pyx_n_u_CCH); __Pyx_GIVEREF(__pyx_n_u_CCH); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_CCH); __Pyx_INCREF(__pyx_float_1_0); __Pyx_GIVEREF(__pyx_float_1_0); PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_float_1_0); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_10private_cy_Private), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_coachella, __pyx_t_2) < 0) __PYX_ERR(0, 644, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0645:
0646: ##List of all intialized districts for looping
+0647: self.district_list = [self.berrenda, self.belridge, self.buenavista, self.cawelo, self.henrymiller, self.ID4, self.kerndelta, self.losthills, self.rosedale, self.semitropic, self.tehachapi, self.tejon, self.westkern, self.wheeler, self.kcwa, self.bakersfield, self.northkern, self.arvin, self.delano, self.pixley, self.exeter, self.kerntulare, self.lindmore, self.lindsay, self.lowertule, self.porterville, self.saucelito, self.shaffer, self.sosanjoaquin, self.teapot, self.terra, self.tulare, self.fresno, self.fresnoid, self.socal, self.southbay, self.centralcoast, self.dudleyridge, self.tularelake, self.westlands, self.chowchilla, self.maderairr, self.othertule, self.otherkaweah, self.otherfriant, self.othercvp, self.otherexchange, self.othercrossvalley, self.otherswp, self.consolidated, self.alta, self.krwa, self.kaweahdelta, self.sanluiswater, self.panoche, self.delpuerto]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cawelo); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_henrymiller); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ID4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_losthills); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tehachapi); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tejon); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westkern); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wheeler); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kcwa); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bakersfield); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkern); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arvin); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delano); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pixley); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exeter); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerntulare); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lindmore); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lindsay); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lowertule); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_porterville); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_saucelito); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_28); __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shaffer); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sosanjoaquin); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_30); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_teapot); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_32 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_terra); if (unlikely(!__pyx_t_32)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_32); __pyx_t_33 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tulare); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __pyx_t_34 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fresno); if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_34); __pyx_t_35 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fresnoid); if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_35); __pyx_t_36 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_36)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_36); __pyx_t_37 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_37)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_37); __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_38); __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dudleyridge); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_39); __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tularelake); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_40); __pyx_t_41 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westlands); if (unlikely(!__pyx_t_41)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_41); __pyx_t_42 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_chowchilla); if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_42); __pyx_t_43 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_maderairr); if (unlikely(!__pyx_t_43)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_43); __pyx_t_44 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othertule); if (unlikely(!__pyx_t_44)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_44); __pyx_t_45 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherkaweah); if (unlikely(!__pyx_t_45)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_45); __pyx_t_46 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherfriant); if (unlikely(!__pyx_t_46)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_46); __pyx_t_47 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othercvp); if (unlikely(!__pyx_t_47)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_47); __pyx_t_48 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherexchange); if (unlikely(!__pyx_t_48)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_48); __pyx_t_49 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othercrossvalley); if (unlikely(!__pyx_t_49)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_49); __pyx_t_50 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherswp); if (unlikely(!__pyx_t_50)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_50); __pyx_t_51 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_consolidated); if (unlikely(!__pyx_t_51)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_51); __pyx_t_52 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_alta); if (unlikely(!__pyx_t_52)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_52); __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_krwa); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahdelta); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluiswater); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_panoche); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delpuerto); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_58 = PyList_New(56); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_58, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_58, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_58, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_58, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_58, 4, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_58, 5, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_58, 6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_58, 7, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_58, 8, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_58, 9, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_58, 10, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_58, 11, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_58, 12, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_58, 13, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_58, 14, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_58, 15, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_58, 16, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_58, 17, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_58, 18, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_58, 19, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_58, 20, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_23); PyList_SET_ITEM(__pyx_t_58, 21, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_24); PyList_SET_ITEM(__pyx_t_58, 22, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_25); PyList_SET_ITEM(__pyx_t_58, 23, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_26); PyList_SET_ITEM(__pyx_t_58, 24, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_58, 25, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_28); PyList_SET_ITEM(__pyx_t_58, 26, __pyx_t_28); __Pyx_GIVEREF(__pyx_t_29); PyList_SET_ITEM(__pyx_t_58, 27, __pyx_t_29); __Pyx_GIVEREF(__pyx_t_30); PyList_SET_ITEM(__pyx_t_58, 28, __pyx_t_30); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_58, 29, __pyx_t_31); __Pyx_GIVEREF(__pyx_t_32); PyList_SET_ITEM(__pyx_t_58, 30, __pyx_t_32); __Pyx_GIVEREF(__pyx_t_33); PyList_SET_ITEM(__pyx_t_58, 31, __pyx_t_33); __Pyx_GIVEREF(__pyx_t_34); PyList_SET_ITEM(__pyx_t_58, 32, __pyx_t_34); __Pyx_GIVEREF(__pyx_t_35); PyList_SET_ITEM(__pyx_t_58, 33, __pyx_t_35); __Pyx_GIVEREF(__pyx_t_36); PyList_SET_ITEM(__pyx_t_58, 34, __pyx_t_36); __Pyx_GIVEREF(__pyx_t_37); PyList_SET_ITEM(__pyx_t_58, 35, __pyx_t_37); __Pyx_GIVEREF(__pyx_t_38); PyList_SET_ITEM(__pyx_t_58, 36, __pyx_t_38); __Pyx_GIVEREF(__pyx_t_39); PyList_SET_ITEM(__pyx_t_58, 37, __pyx_t_39); __Pyx_GIVEREF(__pyx_t_40); PyList_SET_ITEM(__pyx_t_58, 38, __pyx_t_40); __Pyx_GIVEREF(__pyx_t_41); PyList_SET_ITEM(__pyx_t_58, 39, __pyx_t_41); __Pyx_GIVEREF(__pyx_t_42); PyList_SET_ITEM(__pyx_t_58, 40, __pyx_t_42); __Pyx_GIVEREF(__pyx_t_43); PyList_SET_ITEM(__pyx_t_58, 41, __pyx_t_43); __Pyx_GIVEREF(__pyx_t_44); PyList_SET_ITEM(__pyx_t_58, 42, __pyx_t_44); __Pyx_GIVEREF(__pyx_t_45); PyList_SET_ITEM(__pyx_t_58, 43, __pyx_t_45); __Pyx_GIVEREF(__pyx_t_46); PyList_SET_ITEM(__pyx_t_58, 44, __pyx_t_46); __Pyx_GIVEREF(__pyx_t_47); PyList_SET_ITEM(__pyx_t_58, 45, __pyx_t_47); __Pyx_GIVEREF(__pyx_t_48); PyList_SET_ITEM(__pyx_t_58, 46, __pyx_t_48); __Pyx_GIVEREF(__pyx_t_49); PyList_SET_ITEM(__pyx_t_58, 47, __pyx_t_49); __Pyx_GIVEREF(__pyx_t_50); PyList_SET_ITEM(__pyx_t_58, 48, __pyx_t_50); __Pyx_GIVEREF(__pyx_t_51); PyList_SET_ITEM(__pyx_t_58, 49, __pyx_t_51); __Pyx_GIVEREF(__pyx_t_52); PyList_SET_ITEM(__pyx_t_58, 50, __pyx_t_52); __Pyx_GIVEREF(__pyx_t_53); PyList_SET_ITEM(__pyx_t_58, 51, __pyx_t_53); __Pyx_GIVEREF(__pyx_t_54); PyList_SET_ITEM(__pyx_t_58, 52, __pyx_t_54); __Pyx_GIVEREF(__pyx_t_55); PyList_SET_ITEM(__pyx_t_58, 53, __pyx_t_55); __Pyx_GIVEREF(__pyx_t_56); PyList_SET_ITEM(__pyx_t_58, 54, __pyx_t_56); __Pyx_GIVEREF(__pyx_t_57); PyList_SET_ITEM(__pyx_t_58, 55, __pyx_t_57); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_32 = 0; __pyx_t_33 = 0; __pyx_t_34 = 0; __pyx_t_35 = 0; __pyx_t_36 = 0; __pyx_t_37 = 0; __pyx_t_38 = 0; __pyx_t_39 = 0; __pyx_t_40 = 0; __pyx_t_41 = 0; __pyx_t_42 = 0; __pyx_t_43 = 0; __pyx_t_44 = 0; __pyx_t_45 = 0; __pyx_t_46 = 0; __pyx_t_47 = 0; __pyx_t_48 = 0; __pyx_t_49 = 0; __pyx_t_50 = 0; __pyx_t_51 = 0; __pyx_t_52 = 0; __pyx_t_53 = 0; __pyx_t_54 = 0; __pyx_t_55 = 0; __pyx_t_56 = 0; __pyx_t_57 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_district_list, __pyx_t_58) < 0) __PYX_ERR(0, 647, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
0648: #list of all california aqueduct branch urban users (their demands are generated from pumping data - different than other district objects)
+0649: self.urban_list = [self.socal, self.centralcoast, self.southbay]
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_55 = PyList_New(3); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __Pyx_GIVEREF(__pyx_t_58); PyList_SET_ITEM(__pyx_t_55, 0, __pyx_t_58); __Pyx_GIVEREF(__pyx_t_57); PyList_SET_ITEM(__pyx_t_55, 1, __pyx_t_57); __Pyx_GIVEREF(__pyx_t_56); PyList_SET_ITEM(__pyx_t_55, 2, __pyx_t_56); __pyx_t_58 = 0; __pyx_t_57 = 0; __pyx_t_56 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_urban_list, __pyx_t_55) < 0) __PYX_ERR(0, 649, __pyx_L1_error) __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0;
+0650: self.private_list = [self.wonderful]
__pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wonderful); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_56 = PyList_New(1); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_GIVEREF(__pyx_t_55); PyList_SET_ITEM(__pyx_t_56, 0, __pyx_t_55); __pyx_t_55 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_private_list, __pyx_t_56) < 0) __PYX_ERR(0, 650, __pyx_L1_error) __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0651: self.city_list = [self.metropolitan, self.castaic, self.coachella]
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_castaic); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_coachella); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_58 = PyList_New(3); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_GIVEREF(__pyx_t_56); PyList_SET_ITEM(__pyx_t_58, 0, __pyx_t_56); __Pyx_GIVEREF(__pyx_t_55); PyList_SET_ITEM(__pyx_t_58, 1, __pyx_t_55); __Pyx_GIVEREF(__pyx_t_57); PyList_SET_ITEM(__pyx_t_58, 2, __pyx_t_57); __pyx_t_56 = 0; __pyx_t_55 = 0; __pyx_t_57 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_city_list, __pyx_t_58) < 0) __PYX_ERR(0, 651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
0652:
0653: ##District Keys - dictionary to be able to call the member from its key
+0654: self.district_keys = {}
__pyx_t_58 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_district_keys, __pyx_t_58) < 0) __PYX_ERR(0, 654, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0655: self.district_keys_len = {}
__pyx_t_58 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len, __pyx_t_58) < 0) __PYX_ERR(0, 655, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0656: for districts_included in self.district_list:
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (likely(PyList_CheckExact(__pyx_t_58)) || PyTuple_CheckExact(__pyx_t_58)) { __pyx_t_57 = __pyx_t_58; __Pyx_INCREF(__pyx_t_57); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_57 = PyObject_GetIter(__pyx_t_58); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_60 = Py_TYPE(__pyx_t_57)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 656, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_57))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyList_GET_ITEM(__pyx_t_57, __pyx_t_59); __Pyx_INCREF(__pyx_t_58); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 656, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_57, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyTuple_GET_ITEM(__pyx_t_57, __pyx_t_59); __Pyx_INCREF(__pyx_t_58); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 656, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_57, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } } else { __pyx_t_58 = __pyx_t_60(__pyx_t_57); if (unlikely(!__pyx_t_58)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 656, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_58); } __Pyx_XDECREF_SET(__pyx_v_districts_included, __pyx_t_58); __pyx_t_58 = 0; /* … */ } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0;
+0657: self.district_keys[districts_included.key] = districts_included
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_districts_included, __pyx_n_s_key); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); if (unlikely(PyObject_SetItem(__pyx_t_58, __pyx_t_55, __pyx_v_districts_included) < 0)) __PYX_ERR(0, 657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0;
+0658: self.district_keys_len[districts_included.key] = len(districts_included)
__pyx_t_61 = PyObject_Length(__pyx_v_districts_included); if (unlikely(__pyx_t_61 == ((Py_ssize_t)-1))) __PYX_ERR(0, 658, __pyx_L1_error) __pyx_t_55 = PyInt_FromSsize_t(__pyx_t_61); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_districts_included, __pyx_n_s_key); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (unlikely(PyObject_SetItem(__pyx_t_58, __pyx_t_56, __pyx_t_55) < 0)) __PYX_ERR(0, 658, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0;
+0659: for private_included in self.private_list:
__pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); if (likely(PyList_CheckExact(__pyx_t_57)) || PyTuple_CheckExact(__pyx_t_57)) { __pyx_t_55 = __pyx_t_57; __Pyx_INCREF(__pyx_t_55); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_55 = PyObject_GetIter(__pyx_t_57); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_60 = Py_TYPE(__pyx_t_55)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 659, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_55))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_55)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_57 = PyList_GET_ITEM(__pyx_t_55, __pyx_t_59); __Pyx_INCREF(__pyx_t_57); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 659, __pyx_L1_error) #else __pyx_t_57 = PySequence_ITEM(__pyx_t_55, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_55)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_57 = PyTuple_GET_ITEM(__pyx_t_55, __pyx_t_59); __Pyx_INCREF(__pyx_t_57); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 659, __pyx_L1_error) #else __pyx_t_57 = PySequence_ITEM(__pyx_t_55, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); #endif } } else { __pyx_t_57 = __pyx_t_60(__pyx_t_55); if (unlikely(!__pyx_t_57)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 659, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_57); } __Pyx_XDECREF_SET(__pyx_v_private_included, __pyx_t_57); __pyx_t_57 = 0; /* … */ } __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0;
+0660: self.district_keys[private_included.key] = private_included###Private interests in the Kern Water Bank (Westside Mutual)
__pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_included, __pyx_n_s_key); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (unlikely(PyObject_SetItem(__pyx_t_57, __pyx_t_56, __pyx_v_private_included) < 0)) __PYX_ERR(0, 660, __pyx_L1_error) __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0661: self.district_keys_len[private_included.key] = len(private_included)###Private interests in the Kern Water Bank (Westside Mutual)
__pyx_t_61 = PyObject_Length(__pyx_v_private_included); if (unlikely(__pyx_t_61 == ((Py_ssize_t)-1))) __PYX_ERR(0, 661, __pyx_L1_error) __pyx_t_56 = PyInt_FromSsize_t(__pyx_t_61); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_included, __pyx_n_s_key); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (unlikely(PyObject_SetItem(__pyx_t_57, __pyx_t_58, __pyx_t_56) < 0)) __PYX_ERR(0, 661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0662: for city_included in self.city_list:
__pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); if (likely(PyList_CheckExact(__pyx_t_55)) || PyTuple_CheckExact(__pyx_t_55)) { __pyx_t_56 = __pyx_t_55; __Pyx_INCREF(__pyx_t_56); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_56 = PyObject_GetIter(__pyx_t_55); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_60 = Py_TYPE(__pyx_t_56)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 662, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_56))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_56)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_55 = PyList_GET_ITEM(__pyx_t_56, __pyx_t_59); __Pyx_INCREF(__pyx_t_55); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 662, __pyx_L1_error) #else __pyx_t_55 = PySequence_ITEM(__pyx_t_56, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_56)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_55 = PyTuple_GET_ITEM(__pyx_t_56, __pyx_t_59); __Pyx_INCREF(__pyx_t_55); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 662, __pyx_L1_error) #else __pyx_t_55 = PySequence_ITEM(__pyx_t_56, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); #endif } } else { __pyx_t_55 = __pyx_t_60(__pyx_t_56); if (unlikely(!__pyx_t_55)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 662, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_55); } __Pyx_XDECREF_SET(__pyx_v_city_included, __pyx_t_55); __pyx_t_55 = 0; /* … */ } __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0663: self.district_keys[city_included.key] = city_included
__pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_included, __pyx_n_s_key); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (unlikely(PyObject_SetItem(__pyx_t_55, __pyx_t_58, __pyx_v_city_included) < 0)) __PYX_ERR(0, 663, __pyx_L1_error) __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0664: self.district_keys_len[city_included.key] = len(city_included)
__pyx_t_61 = PyObject_Length(__pyx_v_city_included); if (unlikely(__pyx_t_61 == ((Py_ssize_t)-1))) __PYX_ERR(0, 664, __pyx_L1_error) __pyx_t_58 = PyInt_FromSsize_t(__pyx_t_61); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_included, __pyx_n_s_key); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); if (unlikely(PyObject_SetItem(__pyx_t_55, __pyx_t_57, __pyx_t_58) < 0)) __PYX_ERR(0, 664, __pyx_L1_error) __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
0665:
+0666: if self.demand_type == 'pesticide':
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_demand_type); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_56, __pyx_n_u_pesticide, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 666, __pyx_L1_error) __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+0667: self.load_pesticide_acreage()
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_load_pesticide_acreage); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_57 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_58))) { __pyx_t_57 = PyMethod_GET_SELF(__pyx_t_58); if (likely(__pyx_t_57)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_58); __Pyx_INCREF(__pyx_t_57); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_58, function); } } __pyx_t_56 = (__pyx_t_57) ? __Pyx_PyObject_CallOneArg(__pyx_t_58, __pyx_t_57) : __Pyx_PyObject_CallNoArg(__pyx_t_58); __Pyx_XDECREF(__pyx_t_57); __pyx_t_57 = 0; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0668: elif self.demand_type == 'pmp':
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_demand_type); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_56, __pyx_n_u_pmp, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; if (__pyx_t_3) { /* … */ } __pyx_L10:;
+0669: self.load_pmp_model()
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_load_pmp_model); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_57 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_58))) { __pyx_t_57 = PyMethod_GET_SELF(__pyx_t_58); if (likely(__pyx_t_57)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_58); __Pyx_INCREF(__pyx_t_57); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_58, function); } } __pyx_t_56 = (__pyx_t_57) ? __Pyx_PyObject_CallOneArg(__pyx_t_58, __pyx_t_57) : __Pyx_PyObject_CallNoArg(__pyx_t_58); __Pyx_XDECREF(__pyx_t_57); __pyx_t_57 = 0; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
0670:
+0671: self.allocate_private_contracts()
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocate_private_contracts); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_57 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_58))) { __pyx_t_57 = PyMethod_GET_SELF(__pyx_t_58); if (likely(__pyx_t_57)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_58); __Pyx_INCREF(__pyx_t_57); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_58, function); } } __pyx_t_56 = (__pyx_t_57) ? __Pyx_PyObject_CallOneArg(__pyx_t_58, __pyx_t_57) : __Pyx_PyObject_CallNoArg(__pyx_t_58); __Pyx_XDECREF(__pyx_t_57); __pyx_t_57 = 0; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
0672:
+0673: for x in self.district_list:
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (likely(PyList_CheckExact(__pyx_t_56)) || PyTuple_CheckExact(__pyx_t_56)) { __pyx_t_58 = __pyx_t_56; __Pyx_INCREF(__pyx_t_58); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_58 = PyObject_GetIter(__pyx_t_56); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_60 = Py_TYPE(__pyx_t_58)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 673, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_58))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_58)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyList_GET_ITEM(__pyx_t_58, __pyx_t_59); __Pyx_INCREF(__pyx_t_56); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 673, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_58, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_58)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyTuple_GET_ITEM(__pyx_t_58, __pyx_t_59); __Pyx_INCREF(__pyx_t_56); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 673, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_58, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } } else { __pyx_t_56 = __pyx_t_60(__pyx_t_58); if (unlikely(!__pyx_t_56)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 673, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_56); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_56); __pyx_t_56 = 0; /* … */ } __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0674: x.find_baseline_demands(0, self.non_leap_year, self.days_in_month)
__pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_baseline_demands); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_55 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_55)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_55); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_53 = NULL; __pyx_t_62 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_57))) { __pyx_t_53 = PyMethod_GET_SELF(__pyx_t_57); if (likely(__pyx_t_53)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_57); __Pyx_INCREF(__pyx_t_53); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_57, function); __pyx_t_62 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_57)) { PyObject *__pyx_temp[4] = {__pyx_t_53, __pyx_int_0, __pyx_t_55, __pyx_t_54}; __pyx_t_56 = __Pyx_PyFunction_FastCall(__pyx_t_57, __pyx_temp+1-__pyx_t_62, 3+__pyx_t_62); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_53); __pyx_t_53 = 0; __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_57)) { PyObject *__pyx_temp[4] = {__pyx_t_53, __pyx_int_0, __pyx_t_55, __pyx_t_54}; __pyx_t_56 = __Pyx_PyCFunction_FastCall(__pyx_t_57, __pyx_temp+1-__pyx_t_62, 3+__pyx_t_62); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_53); __pyx_t_53 = 0; __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; } else #endif { __pyx_t_52 = PyTuple_New(3+__pyx_t_62); if (unlikely(!__pyx_t_52)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_52); if (__pyx_t_53) { __Pyx_GIVEREF(__pyx_t_53); PyTuple_SET_ITEM(__pyx_t_52, 0, __pyx_t_53); __pyx_t_53 = NULL; } __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_52, 0+__pyx_t_62, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_55); PyTuple_SET_ITEM(__pyx_t_52, 1+__pyx_t_62, __pyx_t_55); __Pyx_GIVEREF(__pyx_t_54); PyTuple_SET_ITEM(__pyx_t_52, 2+__pyx_t_62, __pyx_t_54); __pyx_t_55 = 0; __pyx_t_54 = 0; __pyx_t_56 = __Pyx_PyObject_Call(__pyx_t_57, __pyx_t_52, NULL); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_52); __pyx_t_52 = 0; } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0675: for x in self.private_list:
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (likely(PyList_CheckExact(__pyx_t_58)) || PyTuple_CheckExact(__pyx_t_58)) { __pyx_t_56 = __pyx_t_58; __Pyx_INCREF(__pyx_t_56); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_56 = PyObject_GetIter(__pyx_t_58); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_60 = Py_TYPE(__pyx_t_56)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 675, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_56))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_56)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyList_GET_ITEM(__pyx_t_56, __pyx_t_59); __Pyx_INCREF(__pyx_t_58); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 675, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_56, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_56)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyTuple_GET_ITEM(__pyx_t_56, __pyx_t_59); __Pyx_INCREF(__pyx_t_58); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 675, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_56, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } } else { __pyx_t_58 = __pyx_t_60(__pyx_t_56); if (unlikely(!__pyx_t_58)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 675, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_58); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_58); __pyx_t_58 = 0; /* … */ } __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0676: x.find_baseline_demands(self.non_leap_year, self.days_in_month)
__pyx_t_57 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_baseline_demands); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_52 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_52)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_52); __pyx_t_54 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_54)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_54); __pyx_t_55 = NULL; __pyx_t_62 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_57))) { __pyx_t_55 = PyMethod_GET_SELF(__pyx_t_57); if (likely(__pyx_t_55)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_57); __Pyx_INCREF(__pyx_t_55); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_57, function); __pyx_t_62 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_57)) { PyObject *__pyx_temp[3] = {__pyx_t_55, __pyx_t_52, __pyx_t_54}; __pyx_t_58 = __Pyx_PyFunction_FastCall(__pyx_t_57, __pyx_temp+1-__pyx_t_62, 2+__pyx_t_62); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_52); __pyx_t_52 = 0; __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_57)) { PyObject *__pyx_temp[3] = {__pyx_t_55, __pyx_t_52, __pyx_t_54}; __pyx_t_58 = __Pyx_PyCFunction_FastCall(__pyx_t_57, __pyx_temp+1-__pyx_t_62, 2+__pyx_t_62); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_55); __pyx_t_55 = 0; __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_52); __pyx_t_52 = 0; __Pyx_DECREF(__pyx_t_54); __pyx_t_54 = 0; } else #endif { __pyx_t_53 = PyTuple_New(2+__pyx_t_62); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); if (__pyx_t_55) { __Pyx_GIVEREF(__pyx_t_55); PyTuple_SET_ITEM(__pyx_t_53, 0, __pyx_t_55); __pyx_t_55 = NULL; } __Pyx_GIVEREF(__pyx_t_52); PyTuple_SET_ITEM(__pyx_t_53, 0+__pyx_t_62, __pyx_t_52); __Pyx_GIVEREF(__pyx_t_54); PyTuple_SET_ITEM(__pyx_t_53, 1+__pyx_t_62, __pyx_t_54); __pyx_t_52 = 0; __pyx_t_54 = 0; __pyx_t_58 = __Pyx_PyObject_Call(__pyx_t_57, __pyx_t_53, NULL); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0; __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0677: x.turnout_list = {}
__pyx_t_58 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_turnout_list, __pyx_t_58) < 0) __PYX_ERR(0, 677, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0678: for xx in x.district_list:
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (likely(PyList_CheckExact(__pyx_t_58)) || PyTuple_CheckExact(__pyx_t_58)) { __pyx_t_57 = __pyx_t_58; __Pyx_INCREF(__pyx_t_57); __pyx_t_61 = 0; __pyx_t_63 = NULL; } else { __pyx_t_61 = -1; __pyx_t_57 = PyObject_GetIter(__pyx_t_58); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_63 = Py_TYPE(__pyx_t_57)->tp_iternext; if (unlikely(!__pyx_t_63)) __PYX_ERR(0, 678, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; for (;;) { if (likely(!__pyx_t_63)) { if (likely(PyList_CheckExact(__pyx_t_57))) { if (__pyx_t_61 >= PyList_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyList_GET_ITEM(__pyx_t_57, __pyx_t_61); __Pyx_INCREF(__pyx_t_58); __pyx_t_61++; if (unlikely(0 < 0)) __PYX_ERR(0, 678, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_57, __pyx_t_61); __pyx_t_61++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } else { if (__pyx_t_61 >= PyTuple_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_58 = PyTuple_GET_ITEM(__pyx_t_57, __pyx_t_61); __Pyx_INCREF(__pyx_t_58); __pyx_t_61++; if (unlikely(0 < 0)) __PYX_ERR(0, 678, __pyx_L1_error) #else __pyx_t_58 = PySequence_ITEM(__pyx_t_57, __pyx_t_61); __pyx_t_61++; if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); #endif } } else { __pyx_t_58 = __pyx_t_63(__pyx_t_57); if (unlikely(!__pyx_t_58)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 678, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_58); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_58); __pyx_t_58 = 0; /* … */ } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0;
0679: # district_object = self.district_keys[xx]
+0680: self.district_keys[xx].has_private = 1
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_53 = __Pyx_PyObject_GetItem(__pyx_t_58, __pyx_v_xx); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_53, __pyx_n_s_has_private, __pyx_int_1) < 0) __PYX_ERR(0, 680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0;
+0681: x.turnout_list[xx] = self.district_keys[xx].turnout_list
__pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_58 = __Pyx_PyObject_GetItem(__pyx_t_53, __pyx_v_xx); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0; __pyx_t_53 = __Pyx_PyObject_GetAttrStr(__pyx_t_58, __pyx_n_s_turnout_list); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnout_list); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); if (unlikely(PyObject_SetItem(__pyx_t_58, __pyx_v_xx, __pyx_t_53) < 0)) __PYX_ERR(0, 681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0;
+0682: for x in self.city_list:
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (likely(PyList_CheckExact(__pyx_t_56)) || PyTuple_CheckExact(__pyx_t_56)) { __pyx_t_57 = __pyx_t_56; __Pyx_INCREF(__pyx_t_57); __pyx_t_59 = 0; __pyx_t_60 = NULL; } else { __pyx_t_59 = -1; __pyx_t_57 = PyObject_GetIter(__pyx_t_56); if (unlikely(!__pyx_t_57)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_57); __pyx_t_60 = Py_TYPE(__pyx_t_57)->tp_iternext; if (unlikely(!__pyx_t_60)) __PYX_ERR(0, 682, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; for (;;) { if (likely(!__pyx_t_60)) { if (likely(PyList_CheckExact(__pyx_t_57))) { if (__pyx_t_59 >= PyList_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyList_GET_ITEM(__pyx_t_57, __pyx_t_59); __Pyx_INCREF(__pyx_t_56); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 682, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_57, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } else { if (__pyx_t_59 >= PyTuple_GET_SIZE(__pyx_t_57)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyTuple_GET_ITEM(__pyx_t_57, __pyx_t_59); __Pyx_INCREF(__pyx_t_56); __pyx_t_59++; if (unlikely(0 < 0)) __PYX_ERR(0, 682, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_57, __pyx_t_59); __pyx_t_59++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } } else { __pyx_t_56 = __pyx_t_60(__pyx_t_57); if (unlikely(!__pyx_t_56)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 682, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_56); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_56); __pyx_t_56 = 0; /* … */ } __Pyx_DECREF(__pyx_t_57); __pyx_t_57 = 0;
+0683: x.turnout_list = {}
__pyx_t_56 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_turnout_list, __pyx_t_56) < 0) __PYX_ERR(0, 683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0;
+0684: for xx in x.district_list:
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (likely(PyList_CheckExact(__pyx_t_56)) || PyTuple_CheckExact(__pyx_t_56)) { __pyx_t_53 = __pyx_t_56; __Pyx_INCREF(__pyx_t_53); __pyx_t_61 = 0; __pyx_t_63 = NULL; } else { __pyx_t_61 = -1; __pyx_t_53 = PyObject_GetIter(__pyx_t_56); if (unlikely(!__pyx_t_53)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_53); __pyx_t_63 = Py_TYPE(__pyx_t_53)->tp_iternext; if (unlikely(!__pyx_t_63)) __PYX_ERR(0, 684, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; for (;;) { if (likely(!__pyx_t_63)) { if (likely(PyList_CheckExact(__pyx_t_53))) { if (__pyx_t_61 >= PyList_GET_SIZE(__pyx_t_53)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyList_GET_ITEM(__pyx_t_53, __pyx_t_61); __Pyx_INCREF(__pyx_t_56); __pyx_t_61++; if (unlikely(0 < 0)) __PYX_ERR(0, 684, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_53, __pyx_t_61); __pyx_t_61++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } else { if (__pyx_t_61 >= PyTuple_GET_SIZE(__pyx_t_53)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_56 = PyTuple_GET_ITEM(__pyx_t_53, __pyx_t_61); __Pyx_INCREF(__pyx_t_56); __pyx_t_61++; if (unlikely(0 < 0)) __PYX_ERR(0, 684, __pyx_L1_error) #else __pyx_t_56 = PySequence_ITEM(__pyx_t_53, __pyx_t_61); __pyx_t_61++; if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); #endif } } else { __pyx_t_56 = __pyx_t_63(__pyx_t_53); if (unlikely(!__pyx_t_56)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 684, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_56); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_56); __pyx_t_56 = 0; /* … */ } __Pyx_DECREF(__pyx_t_53); __pyx_t_53 = 0;
0685: # district_object = self.district_keys[xx]
+0686: self.district_keys[xx].has_private = 1
__pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __pyx_t_58 = __Pyx_PyObject_GetItem(__pyx_t_56, __pyx_v_xx); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_58, __pyx_n_s_has_private, __pyx_int_1) < 0) __PYX_ERR(0, 686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
+0687: x.turnout_list[xx] = self.district_keys[xx].turnout_list
__pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __pyx_t_56 = __Pyx_PyObject_GetItem(__pyx_t_58, __pyx_v_xx); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0; __pyx_t_58 = __Pyx_PyObject_GetAttrStr(__pyx_t_56, __pyx_n_s_turnout_list); if (unlikely(!__pyx_t_58)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_58); __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; __pyx_t_56 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnout_list); if (unlikely(!__pyx_t_56)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_56); if (unlikely(PyObject_SetItem(__pyx_t_56, __pyx_v_xx, __pyx_t_58) < 0)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_56); __pyx_t_56 = 0; __Pyx_DECREF(__pyx_t_58); __pyx_t_58 = 0;
0688:
0689:
+0690: def initialize_sw_contracts(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_17initialize_sw_contracts(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_17initialize_sw_contracts = {"initialize_sw_contracts", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_17initialize_sw_contracts, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_17initialize_sw_contracts(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_sw_contracts (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_16initialize_sw_contracts(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_16initialize_sw_contracts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_contract_options = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_contract_object = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__10)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_sw_contracts", 0);
__Pyx_TraceCall("initialize_sw_contracts", __pyx_f[0], 690, 0, __PYX_ERR(0, 690, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_sw_contracts", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_contract_options);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_contract_object);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__95 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_contract_options, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_contract_object, __pyx_n_s_xx, __pyx_n_s_district, __pyx_n_s_district_object, __pyx_n_s_yy); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__95);
__Pyx_GIVEREF(__pyx_tuple__95);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_17initialize_sw_contracts, 0, __pyx_n_s_Model_initialize_sw_contracts, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_sw_contracts, __pyx_t_2) < 0) __PYX_ERR(0, 690, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(1, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_sw_contracts, 690, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 690, __pyx_L1_error)
0691: ############################################################################
0692: ###Contract Initialization
0693: ############################################################################
0694: #Project Contracts/Water Rights
+0695: self.friant1 = Contract(self, 'friant1', 'FR1')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_friant1); __Pyx_GIVEREF(__pyx_n_u_friant1); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_friant1); __Pyx_INCREF(__pyx_n_u_FR1); __Pyx_GIVEREF(__pyx_n_u_FR1); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_FR1); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_friant1, __pyx_t_2) < 0) __PYX_ERR(0, 695, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0696: self.friant2 = Contract(self, 'friant2', 'FR2')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_friant2); __Pyx_GIVEREF(__pyx_n_u_friant2); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_friant2); __Pyx_INCREF(__pyx_n_u_FR2); __Pyx_GIVEREF(__pyx_n_u_FR2); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_FR2); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_friant2, __pyx_t_1) < 0) __PYX_ERR(0, 696, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0697: self.swpdelta = Contract(self, 'swpdelta', 'SLS')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_swpdelta); __Pyx_GIVEREF(__pyx_n_u_swpdelta); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_swpdelta); __Pyx_INCREF(__pyx_n_u_SLS); __Pyx_GIVEREF(__pyx_n_u_SLS); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_SLS); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta, __pyx_t_2) < 0) __PYX_ERR(0, 697, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0698: self.cvpdelta = Contract(self, 'cvpdelta', 'SLF')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_cvpdelta); __Pyx_GIVEREF(__pyx_n_u_cvpdelta); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_cvpdelta); __Pyx_INCREF(__pyx_n_u_SLF); __Pyx_GIVEREF(__pyx_n_u_SLF); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_SLF); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta, __pyx_t_1) < 0) __PYX_ERR(0, 698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0699: self.cvpexchange = Contract(self, 'cvpexchange', 'ECH')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_cvpexchange); __Pyx_GIVEREF(__pyx_n_u_cvpexchange); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_cvpexchange); __Pyx_INCREF(__pyx_n_u_ECH); __Pyx_GIVEREF(__pyx_n_u_ECH); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_ECH); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange, __pyx_t_2) < 0) __PYX_ERR(0, 699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0700: self.crossvalley = Contract(self, 'crossvalley', 'CVC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_crossvalley); __Pyx_GIVEREF(__pyx_n_u_crossvalley); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_crossvalley); __Pyx_INCREF(__pyx_n_u_CVC); __Pyx_GIVEREF(__pyx_n_u_CVC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_CVC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley, __pyx_t_1) < 0) __PYX_ERR(0, 700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0701: self.kernriver = Contract(self, 'kernriver', 'KRR')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kernriver); __Pyx_GIVEREF(__pyx_n_u_kernriver); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kernriver); __Pyx_INCREF(__pyx_n_u_KRR); __Pyx_GIVEREF(__pyx_n_u_KRR); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KRR); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kernriver, __pyx_t_2) < 0) __PYX_ERR(0, 701, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0702: self.tuleriver = Contract(self, 'tuleriver', 'TRR')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_tuleriver); __Pyx_GIVEREF(__pyx_n_u_tuleriver); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_tuleriver); __Pyx_INCREF(__pyx_n_u_TRR); __Pyx_GIVEREF(__pyx_n_u_TRR); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_TRR); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tuleriver, __pyx_t_1) < 0) __PYX_ERR(0, 702, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0703: self.kaweahriver = Contract(self, 'kaweahriver', 'WRR')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kaweahriver); __Pyx_GIVEREF(__pyx_n_u_kaweahriver); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kaweahriver); __Pyx_INCREF(__pyx_n_u_WRR); __Pyx_GIVEREF(__pyx_n_u_WRR); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_WRR); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriver, __pyx_t_2) < 0) __PYX_ERR(0, 703, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0704: self.kingsriver = Contract(self, 'kingsriver', 'KGR')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kingsriver); __Pyx_GIVEREF(__pyx_n_u_kingsriver); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_kingsriver); __Pyx_INCREF(__pyx_n_u_KGR); __Pyx_GIVEREF(__pyx_n_u_KGR); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_KGR); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_11contract_cy_Contract), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kingsriver, __pyx_t_1) < 0) __PYX_ERR(0, 704, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
0705:
0706: ##List of all intialized contracts for looping
+0707: self.contract_list = [self.friant1, self.friant2, self.swpdelta, self.cvpdelta, self.cvpexchange, self.crossvalley, self.kernriver, self.tuleriver, self.kaweahriver, self.kingsriver]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriver); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriver); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriver); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyList_New(10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_11, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_11, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_11, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_11, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_11, 7, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_11, 8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_11, 9, __pyx_t_10); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_contract_list, __pyx_t_11) < 0) __PYX_ERR(0, 707, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
0708:
0709: ##Contract Keys - dictionary to be able to call the member from its key
+0710: self.contract_keys = {}
__pyx_t_11 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys, __pyx_t_11) < 0) __PYX_ERR(0, 710, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0711: for contract_options in self.contract_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 711, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 711, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 711, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 711, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_contract_options, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0712: self.contract_keys[contract_options.name] = contract_options
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_options, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_9, __pyx_v_contract_options) < 0)) __PYX_ERR(0, 712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0713:
0714: ##For each district on the district list, find the total carryover storage
0715: ##they have associated with each contract
0716: ##Dictionary is a part of the district class, and dictionary keys are the names of contract types
+0717: for x in self.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_9 = __pyx_t_10; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 717, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 717, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 717, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_13(__pyx_t_9); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 717, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0718: for y in x.contract_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_11 = __pyx_t_10; __Pyx_INCREF(__pyx_t_11); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 718, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 718, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 718, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_15(__pyx_t_11); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 718, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0719: contract_object = self.contract_keys[y]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_object, __pyx_t_8); __pyx_t_8 = 0;
+0720: if contract_object.type == "contract":
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = (__Pyx_PyUnicode_Equals(__pyx_t_8, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 720, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_16) { /* … */ goto __pyx_L9; }
+0721: if x.has_pesticide:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_16) { /* … */ goto __pyx_L10; }
+0722: x.contract_carryover_list[y] = contract_object.carryover*x.project_contract[y]*(1.0-min(x.private_fraction))
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_y); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_8, 1.0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_10, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_y, __pyx_t_8) < 0)) __PYX_ERR(0, 722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0723: else:
+0724: x.contract_carryover_list[y] = contract_object.carryover*x.project_contract[y]*(1.0-x.private_fraction[0])
/*else*/ {
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_8 = __Pyx_GetItemInt(__pyx_t_10, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_8, 1.0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_y, __pyx_t_8) < 0)) __PYX_ERR(0, 724, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L10:;
0725:
+0726: elif contract_object.type == "right":
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = (__Pyx_PyUnicode_Equals(__pyx_t_8, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 726, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_16) { /* … */ } __pyx_L9:;
+0727: if x.has_pesticide:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_16) { /* … */ goto __pyx_L11; }
+0728: x.contract_carryover_list[y] = contract_object.carryover*x.rights[y]['carryover']*(1.0-min(x.private_fraction))
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_y); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_carryover); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_8, 1.0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_y, __pyx_t_8) < 0)) __PYX_ERR(0, 728, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
0729: else:
+0730: x.contract_carryover_list[y] = contract_object.carryover*x.rights[y]['carryover']*(1.0-x.private_fraction[0])
/*else*/ {
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_y); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_carryover); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__pyx_t_8 = __Pyx_GetItemInt(__pyx_t_10, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_8, 1.0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_y, __pyx_t_8) < 0)) __PYX_ERR(0, 730, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L11:;
+0731: if y == "tableA":
__pyx_t_16 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 731, __pyx_L1_error) if (__pyx_t_16) { /* … */ }
+0732: x.initial_table_a = x.project_contract[y]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a, __pyx_t_10) < 0) __PYX_ERR(0, 732, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0733: for x in self.private_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_11 = __pyx_t_9; __Pyx_INCREF(__pyx_t_11); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 733, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 733, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 733, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 733, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0734: x.contract_list = []
__pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_list, __pyx_t_9) < 0) __PYX_ERR(0, 734, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0735: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_10 = __pyx_t_9; __Pyx_INCREF(__pyx_t_10); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 735, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_14); __Pyx_INCREF(__pyx_t_9); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 735, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_10, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_14); __Pyx_INCREF(__pyx_t_9); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 735, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_10, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_15(__pyx_t_10); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 735, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0736: district = self.district_keys[xx]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_8); __pyx_t_8 = 0;
+0737: for y in district.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_9 = __pyx_t_8; __Pyx_INCREF(__pyx_t_9); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_18 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 737, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 737, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 737, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_18(__pyx_t_9); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 737, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0738: if y not in x.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = (__Pyx_PySequence_ContainsTF(__pyx_v_y, __pyx_t_8, Py_NE)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 738, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_19 = (__pyx_t_16 != 0); if (__pyx_t_19) { /* … */ }
+0739: x.contract_list.append(y)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_20 = __Pyx_PyObject_Append(__pyx_t_8, __pyx_v_y); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 739, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0740: for xx in x.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_9 = __pyx_t_10; __Pyx_INCREF(__pyx_t_9); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 740, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 740, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 740, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_15(__pyx_t_9); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 740, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0741: district_object = self.district_keys[xx]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_8); __pyx_t_8 = 0;
+0742: for yy in district_object.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_10 = __pyx_t_8; __Pyx_INCREF(__pyx_t_10); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 742, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 742, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 742, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 742, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0743: contract_object = self.contract_keys[yy]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_yy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_object, __pyx_t_7); __pyx_t_7 = 0;
+0744: if contract_object.type == "contract":
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 744, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_19) { /* … */ goto __pyx_L24; }
+0745: x.contract_carryover_list[xx][yy] = contract_object.carryover*district_object.project_contract[yy]*max(x.private_fraction[xx])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_yy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_yy, __pyx_t_7) < 0)) __PYX_ERR(0, 745, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0746:
+0747: elif contract_object.type == "right":
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_19) { /* … */ } __pyx_L24:;
+0748: x.contract_carryover_list[xx][yy] = contract_object.carryover*district_object.rights[yy]['carryover']*max(x.private_fraction[xx])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_yy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_yy, __pyx_t_7) < 0)) __PYX_ERR(0, 748, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0749: for x in self.city_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_9 = __pyx_t_11; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 749, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 749, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 749, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_9); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 749, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0750: x.contract_list = []
__pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_list, __pyx_t_11) < 0) __PYX_ERR(0, 750, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0751: for xx in x.district_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 751, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_14); __Pyx_INCREF(__pyx_t_11); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 751, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_14); __Pyx_INCREF(__pyx_t_11); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 751, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_15(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 751, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0752: district = self.district_keys[xx]
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_7); __pyx_t_7 = 0;
+0753: for y in district.contract_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_11 = __pyx_t_7; __Pyx_INCREF(__pyx_t_11); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 753, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 753, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_11, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 753, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_11, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 753, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0754: if y not in x.contract_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = (__Pyx_PySequence_ContainsTF(__pyx_v_y, __pyx_t_7, Py_NE)); if (unlikely(__pyx_t_19 < 0)) __PYX_ERR(0, 754, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = (__pyx_t_19 != 0); if (__pyx_t_16) { /* … */ }
+0755: x.contract_list.append(y)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = __Pyx_PyObject_Append(__pyx_t_7, __pyx_v_y); if (unlikely(__pyx_t_20 == ((int)-1))) __PYX_ERR(0, 755, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0756: for xx in x.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_11 = __pyx_t_10; __Pyx_INCREF(__pyx_t_11); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 756, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_14); __Pyx_INCREF(__pyx_t_10); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 756, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_15(__pyx_t_11); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 756, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0757: district_object = self.district_keys[xx]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_7); __pyx_t_7 = 0;
+0758: for yy in district_object.contract_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_10 = __pyx_t_7; __Pyx_INCREF(__pyx_t_10); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 758, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 758, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 758, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_10, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_18(__pyx_t_10); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 758, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0759: contract_object = self.contract_keys[yy]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_yy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_object, __pyx_t_6); __pyx_t_6 = 0;
+0760: if contract_object.type == "contract":
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_16 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_16) { /* … */ goto __pyx_L36; }
+0761: x.contract_carryover_list[xx][yy] = contract_object.carryover*district_object.project_contract[yy]*max(x.private_fraction[xx])
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_yy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_yy, __pyx_t_6) < 0)) __PYX_ERR(0, 761, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0762: elif contract_object.type == "right":
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_16 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 762, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_16) { /* … */ } __pyx_L36:;
+0763: x.contract_carryover_list[xx][yy] = contract_object.carryover*district_object.rights[yy]['carryover']*max(x.private_fraction[xx])
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_carryover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_yy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_carryover_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_yy, __pyx_t_6) < 0)) __PYX_ERR(0, 763, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
0764:
0765:
0766: ###Find Risk in Contract Delivery
+0767: self.determine_recharge_recovery_risk()
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_determine_recharge_recovery_risk); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_11); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0768:
0769:
+0770: def initialize_water_banks(self, scenario='baseline'):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_19initialize_water_banks(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_19initialize_water_banks = {"initialize_water_banks", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_19initialize_water_banks, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_19initialize_water_banks(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_water_banks (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scenario,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject*)__pyx_n_u_baseline));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario);
if (value) { values[1] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "initialize_water_banks") < 0)) __PYX_ERR(0, 770, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_scenario = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("initialize_water_banks", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 770, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_water_banks", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_18initialize_water_banks(__pyx_self, __pyx_v_self, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_18initialize_water_banks(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_scenario) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_wb = NULL;
PyObject *__pyx_v_lb = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__11)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_water_banks", 0);
__Pyx_TraceCall("initialize_water_banks", __pyx_f[0], 770, 0, __PYX_ERR(0, 770, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_water_banks", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_wb);
__Pyx_XDECREF(__pyx_v_lb);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__96 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_scenario, __pyx_n_s_x, __pyx_n_s_wb, __pyx_n_s_lb, __pyx_n_s_xx); if (unlikely(!__pyx_tuple__96)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__96);
__Pyx_GIVEREF(__pyx_tuple__96);
__pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__96, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_water_banks, 770, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 770, __pyx_L1_error)
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_19initialize_water_banks, 0, __pyx_n_s_Model_initialize_water_banks, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__97);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_water_banks, __pyx_t_2) < 0) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__97 = PyTuple_Pack(1, ((PyObject*)__pyx_n_u_baseline)); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 770, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__97);
__Pyx_GIVEREF(__pyx_tuple__97);
0771: ############################################################################
0772: ###Water Bank Initialization
0773: ############################################################################
0774:
0775: ##Water Banks
+0776: self.stockdale = Waterbank(self, 'stockdale', 'STOCK')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_stockdale); __Pyx_GIVEREF(__pyx_n_u_stockdale); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_stockdale); __Pyx_INCREF(__pyx_n_u_STOCK); __Pyx_GIVEREF(__pyx_n_u_STOCK); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_STOCK); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_stockdale, __pyx_t_2) < 0) __PYX_ERR(0, 776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0777: self.kernriverbed = Waterbank(self, 'kernriverbed', 'KRC')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kernriverbed); __Pyx_GIVEREF(__pyx_n_u_kernriverbed); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_kernriverbed); __Pyx_INCREF(__pyx_n_u_KRC); __Pyx_GIVEREF(__pyx_n_u_KRC); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_KRC); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kernriverbed, __pyx_t_1) < 0) __PYX_ERR(0, 777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0778: self.poso = Waterbank(self, 'poso', 'POSO')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_poso); __Pyx_GIVEREF(__pyx_n_u_poso); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_poso); __Pyx_INCREF(__pyx_n_u_POSO); __Pyx_GIVEREF(__pyx_n_u_POSO); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_POSO); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_poso, __pyx_t_2) < 0) __PYX_ERR(0, 778, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0779: self.pioneer = Waterbank(self, 'pioneer', 'PIO')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_pioneer); __Pyx_GIVEREF(__pyx_n_u_pioneer); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_pioneer); __Pyx_INCREF(__pyx_n_u_PIO); __Pyx_GIVEREF(__pyx_n_u_PIO); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_PIO); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pioneer, __pyx_t_1) < 0) __PYX_ERR(0, 779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0780: self.kwb = Waterbank(self, 'kwb', 'KWB')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_kwb); __Pyx_GIVEREF(__pyx_n_u_kwb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kwb); __Pyx_INCREF(__pyx_n_u_KWB); __Pyx_GIVEREF(__pyx_n_u_KWB); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_KWB); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kwb, __pyx_t_2) < 0) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0781: self.berrendawb = Waterbank(self, 'berrendawb', 'BRM')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_berrendawb); __Pyx_GIVEREF(__pyx_n_u_berrendawb); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_berrendawb); __Pyx_INCREF(__pyx_n_u_BRM); __Pyx_GIVEREF(__pyx_n_u_BRM); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_BRM); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_berrendawb, __pyx_t_1) < 0) __PYX_ERR(0, 781, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0782: self.b2800 = Waterbank(self, 'b2800', 'B2800')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_b2800); __Pyx_GIVEREF(__pyx_n_u_b2800); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_b2800); __Pyx_INCREF(__pyx_n_u_B2800); __Pyx_GIVEREF(__pyx_n_u_B2800); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_B2800); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_b2800, __pyx_t_2) < 0) __PYX_ERR(0, 782, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0783: self.aewb = Waterbank(self, 'aewb', 'AEMWD')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_aewb); __Pyx_GIVEREF(__pyx_n_u_aewb); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_aewb); __Pyx_INCREF(__pyx_n_u_AEMWD); __Pyx_GIVEREF(__pyx_n_u_AEMWD); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_AEMWD); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_aewb, __pyx_t_1) < 0) __PYX_ERR(0, 783, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0784: self.wkwb = Waterbank(self, 'wkwb', 'WKB')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_wkwb); __Pyx_GIVEREF(__pyx_n_u_wkwb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_wkwb); __Pyx_INCREF(__pyx_n_u_WKB); __Pyx_GIVEREF(__pyx_n_u_WKB); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_WKB); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_wkwb, __pyx_t_2) < 0) __PYX_ERR(0, 784, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0785: self.irvineranch = Waterbank(self, 'irvineranch', 'IVR')
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_irvineranch); __Pyx_GIVEREF(__pyx_n_u_irvineranch); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_irvineranch); __Pyx_INCREF(__pyx_n_u_IVR); __Pyx_GIVEREF(__pyx_n_u_IVR); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_n_u_IVR); __pyx_t_1 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch, __pyx_t_1) < 0) __PYX_ERR(0, 785, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0786: self.northkernwb = Waterbank(self, 'northkernwb', 'NKB')
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self); __Pyx_INCREF(__pyx_n_u_northkernwb); __Pyx_GIVEREF(__pyx_n_u_northkernwb); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_northkernwb); __Pyx_INCREF(__pyx_n_u_NKB); __Pyx_GIVEREF(__pyx_n_u_NKB); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_NKB); __pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_12waterbank_cy_Waterbank), __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_northkernwb, __pyx_t_2) < 0) __PYX_ERR(0, 786, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0787:
+0788: self.waterbank_list = [self.stockdale, self.kernriverbed, self.poso, self.pioneer, self.kwb, self.berrendawb, self.b2800, self.wkwb, self.irvineranch, self.northkernwb]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_stockdale); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverbed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pioneer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrendawb); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_b2800); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wkwb); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkernwb); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyList_New(10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_11, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_11, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_11, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_11, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_11, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_11, 7, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_11, 8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_11, 9, __pyx_t_10); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list, __pyx_t_11) < 0) __PYX_ERR(0, 788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0789: self.leiu_list = []
__pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list, __pyx_t_11) < 0) __PYX_ERR(0, 789, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0790: for x in self.district_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 790, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 790, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 790, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 790, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0791: if (x.in_leiu_banking == 1):
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyInt_EqObjC(__pyx_t_11, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 791, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_14) { /* … */ }
+0792: self.leiu_list.append(x)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_v_x); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0793:
+0794: for x in self.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_9 = __pyx_t_10; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 794, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_13(__pyx_t_9); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 794, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0795: x.delivery_location_list = []
__pyx_t_10 = PyList_New(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list, __pyx_t_10) < 0) __PYX_ERR(0, 795, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0796: x.delivery_location_list.append(x.key)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_10, __pyx_t_11); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0797: x.daily_supplies_full[x.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_11 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_10); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = PyNumber_Add(__pyx_t_10, __pyx_n_u_recharged); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_7, __pyx_t_11) < 0)) __PYX_ERR(0, 797, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0798: x.deliveries[x.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_11 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = PyNumber_Add(__pyx_t_7, __pyx_n_u_recharged); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_10, __pyx_t_11) < 0)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0799: for wb in self.waterbank_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 799, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 799, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 799, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 799, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_wb, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0800: x.daily_supplies_full[wb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_11 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_n_u_recharged); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_6, __pyx_t_11) < 0)) __PYX_ERR(0, 800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0801: x.deliveries[wb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_11 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_8, __pyx_t_11) < 0)) __PYX_ERR(0, 801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0802: x.delivery_location_list.append(wb.key)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_11, __pyx_t_8); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0803: for lb in self.leiu_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_8 = __pyx_t_10; __Pyx_INCREF(__pyx_t_8); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 803, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 803, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_8, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 803, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_8, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_17(__pyx_t_8); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 803, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_lb, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0804: x.daily_supplies_full[lb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_11); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_6 = PyNumber_Add(__pyx_t_11, __pyx_n_u_recharged); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_6, __pyx_t_10) < 0)) __PYX_ERR(0, 804, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0805: x.deliveries[lb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_10 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_11, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_11, __pyx_t_10) < 0)) __PYX_ERR(0, 805, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0806: x.delivery_location_list.append(lb.key)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_10, __pyx_t_11); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 806, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0807: for x in self.private_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 807, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 807, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 807, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_13(__pyx_t_8); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 807, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0808: x.delivery_location_list = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list, __pyx_t_9) < 0) __PYX_ERR(0, 808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0809: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_11 = __pyx_t_9; __Pyx_INCREF(__pyx_t_11); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_17 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 809, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_16); __Pyx_INCREF(__pyx_t_9); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 809, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_11, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_16); __Pyx_INCREF(__pyx_t_9); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 809, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_11, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_17(__pyx_t_11); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 809, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0810: x.delivery_location_list[xx] = []
__pyx_t_9 = PyList_New(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 810, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0811: x.delivery_location_list[xx].append(xx)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_10, __pyx_v_xx); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 811, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0812: x.daily_supplies_full[xx + '_' + xx + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_9); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = PyNumber_Add(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_9, __pyx_t_10) < 0)) __PYX_ERR(0, 812, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0813: x.deliveries[xx][xx + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_9); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_v_xx, __pyx_n_u_recharged); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_7, __pyx_t_10) < 0)) __PYX_ERR(0, 813, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0814: for wb in self.waterbank_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 814, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 814, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 814, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 814, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_wb, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0815: for xx in x.district_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __pyx_t_18 = 0; __pyx_t_19 = NULL; } else { __pyx_t_18 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 815, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_19)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_18); __Pyx_INCREF(__pyx_t_11); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 815, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_7, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_18); __Pyx_INCREF(__pyx_t_11); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 815, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_7, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_19(__pyx_t_7); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 815, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0816: x.delivery_location_list[xx].append(wb.key)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_9, __pyx_t_11); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 816, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0817: x.daily_supplies_full[xx + '_' + wb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_11 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_9); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_n_u_recharged); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_5, __pyx_t_11) < 0)) __PYX_ERR(0, 817, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0818: x.deliveries[xx][wb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_11 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_4, __pyx_t_11) < 0)) __PYX_ERR(0, 818, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0819: for lb in self.leiu_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 819, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 819, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 819, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_17(__pyx_t_7); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 819, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_lb, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0820: for xx in x.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_11 = __pyx_t_10; __Pyx_INCREF(__pyx_t_11); __pyx_t_18 = 0; __pyx_t_19 = NULL; } else { __pyx_t_18 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_19 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 820, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_19)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_18); __Pyx_INCREF(__pyx_t_10); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 820, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_18); __Pyx_INCREF(__pyx_t_10); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 820, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_19(__pyx_t_11); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 820, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0821: x.delivery_location_list[xx].append(lb.key)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_4, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0822: x.daily_supplies_full[xx + '_' + lb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = PyNumber_Add(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_9, __pyx_n_u_recharged); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_6, __pyx_t_10) < 0)) __PYX_ERR(0, 822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0823: x.deliveries[xx][lb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_10 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_9, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = PyNumber_Add(__pyx_t_5, __pyx_n_u_recharged); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_9, __pyx_t_10) < 0)) __PYX_ERR(0, 823, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0824: for x in self.city_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 824, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 824, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 824, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_13(__pyx_t_7); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 824, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0825: x.delivery_location_list = {}
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list, __pyx_t_8) < 0) __PYX_ERR(0, 825, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0826: for xx in x.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_11 = __pyx_t_8; __Pyx_INCREF(__pyx_t_11); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_17 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 826, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_16); __Pyx_INCREF(__pyx_t_8); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 826, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_16); __Pyx_INCREF(__pyx_t_8); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 826, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_17(__pyx_t_11); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 826, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0827: x.delivery_location_list[xx] = []
__pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_xx, __pyx_t_8) < 0)) __PYX_ERR(0, 827, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0828: x.delivery_location_list[xx].append(xx)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_10, __pyx_v_xx); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0829: x.daily_supplies_full[xx + '_' + xx + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_6, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_8, __pyx_t_10) < 0)) __PYX_ERR(0, 829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0830: x.deliveries[xx][xx + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_6, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_v_xx, __pyx_n_u_recharged); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_9, __pyx_t_10) < 0)) __PYX_ERR(0, 830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0831: for wb in self.waterbank_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_10 = __pyx_t_11; __Pyx_INCREF(__pyx_t_10); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_17 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 831, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 831, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_16); __Pyx_INCREF(__pyx_t_11); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 831, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_10, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_17(__pyx_t_10); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 831, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_wb, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0832: for xx in x.district_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_9 = __pyx_t_11; __Pyx_INCREF(__pyx_t_9); __pyx_t_18 = 0; __pyx_t_19 = NULL; } else { __pyx_t_18 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_19 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 832, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_19)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_18); __Pyx_INCREF(__pyx_t_11); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 832, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_18); __Pyx_INCREF(__pyx_t_11); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 832, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_9, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_19(__pyx_t_9); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 832, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0833: x.delivery_location_list[xx].append(wb.key)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_8, __pyx_t_11); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0834: x.daily_supplies_full[xx + '_' + wb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_11 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_n_u_recharged); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_5, __pyx_t_11) < 0)) __PYX_ERR(0, 834, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0835: x.deliveries[xx][wb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_11 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_5); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_n_u_recharged); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_4, __pyx_t_11) < 0)) __PYX_ERR(0, 835, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0836: for lb in self.leiu_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_9 = __pyx_t_10; __Pyx_INCREF(__pyx_t_9); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 836, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 836, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 836, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_9, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_17(__pyx_t_9); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 836, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_lb, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0837: for xx in x.district_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_11 = __pyx_t_10; __Pyx_INCREF(__pyx_t_11); __pyx_t_18 = 0; __pyx_t_19 = NULL; } else { __pyx_t_18 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_19 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 837, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_19)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_18); __Pyx_INCREF(__pyx_t_10); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 837, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_18); __Pyx_INCREF(__pyx_t_10); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 837, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_19(__pyx_t_11); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 837, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0838: x.delivery_location_list[xx].append(lb.key)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_location_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_Append(__pyx_t_4, __pyx_t_10); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 838, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0839: x.daily_supplies_full[xx + '_' + lb.key + '_recharged'] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_10 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_daily_supplies_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_v_xx, __pyx_n_u__12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = PyNumber_Add(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_n_u_recharged); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_6, __pyx_t_10) < 0)) __PYX_ERR(0, 839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+0840: x.deliveries[xx][lb.key + '_recharged'] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_10 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_lb, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyNumber_Add(__pyx_t_5, __pyx_n_u_recharged); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_8, __pyx_t_10) < 0)) __PYX_ERR(0, 840, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
0841:
+0842: if self.model_mode == 'validation':
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 842, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L36; }
+0843: self.semitropic.inleiubanked['MET'] = 175.8
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_MET, __pyx_float_175_8) < 0)) __PYX_ERR(0, 843, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0844: self.semitropic.inleiubanked['SOB'] = 46.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_SOB, __pyx_float_46_0) < 0)) __PYX_ERR(0, 844, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0845: self.kwb.banked['ID4'] = 91.7
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_banked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_ID4, __pyx_float_91_7) < 0)) __PYX_ERR(0, 845, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0846: self.kwb.banked['DLR'] = 260.0 * 0.0962/ 0.9038
__pyx_t_9 = PyFloat_FromDouble(((260.0 * 0.0962) / 0.9038)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_DLR, __pyx_t_9) < 0)) __PYX_ERR(0, 846, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0847: self.kwb.banked['SMI'] = 260.0 * 0.0667/ 0.9038
__pyx_t_9 = PyFloat_FromDouble(((260.0 * 0.0667) / 0.9038)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_banked); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_SMI, __pyx_t_9) < 0)) __PYX_ERR(0, 847, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0848: self.kwb.banked['TJC'] = 260.0 * 0.02/ 0.9038
__pyx_t_9 = PyFloat_FromDouble(((260.0 * 0.02) / 0.9038)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 848, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_TJC, __pyx_t_9) < 0)) __PYX_ERR(0, 848, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0849: self.kwb.banked['WON'] = 260.0 * 0.4806/ 0.9038
__pyx_t_9 = PyFloat_FromDouble(((260.0 * 0.4806) / 0.9038)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_banked); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_WON, __pyx_t_9) < 0)) __PYX_ERR(0, 849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0850: self.kwb.banked['WRM'] = 260.0 * 0.2403/ 0.9038
__pyx_t_9 = PyFloat_FromDouble(((260.0 * 0.2403) / 0.9038)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_WRM, __pyx_t_9) < 0)) __PYX_ERR(0, 850, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0851: elif self.model_mode == 'simulation':
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_simulation, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 851, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_14) { /* … */ } __pyx_L36:;
+0852: self.semitropic.inleiubanked['MET'] = 750.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_MET, __pyx_float_750_0) < 0)) __PYX_ERR(0, 852, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0853: self.semitropic.inleiubanked['SOB'] = 750.0
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_SOB, __pyx_float_750_0) < 0)) __PYX_ERR(0, 853, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0854: self.kwb.banked['ID4'] = 500.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_ID4, __pyx_float_500_0) < 0)) __PYX_ERR(0, 854, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0855: self.kwb.banked['DLR'] = 500.0
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_banked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_DLR, __pyx_float_500_0) < 0)) __PYX_ERR(0, 855, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0856: self.kwb.banked['SMI'] = 500.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_SMI, __pyx_float_500_0) < 0)) __PYX_ERR(0, 856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0857: self.kwb.banked['TJC'] = 500.0
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_banked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_TJC, __pyx_float_500_0) < 0)) __PYX_ERR(0, 857, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0858: self.kwb.banked['WON'] = 500.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_n_u_WON, __pyx_float_500_0) < 0)) __PYX_ERR(0, 858, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+0859: self.kwb.banked['WRM'] = 500.0
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_banked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_n_u_WRM, __pyx_float_500_0) < 0)) __PYX_ERR(0, 859, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0860:
+0861: def initialize_canals(self, scenario = 'baseline'):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_21initialize_canals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_21initialize_canals = {"initialize_canals", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_21initialize_canals, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_21initialize_canals(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_canals (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scenario,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject*)__pyx_n_u_baseline));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario);
if (value) { values[1] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "initialize_canals") < 0)) __PYX_ERR(0, 861, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_scenario = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("initialize_canals", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 861, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_canals", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_20initialize_canals(__pyx_self, __pyx_v_self, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_20initialize_canals(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_scenario) {
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__13)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("initialize_canals", 0);
__Pyx_TraceCall("initialize_canals", __pyx_f[0], 861, 0, __PYX_ERR(0, 861, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.initialize_canals", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__98 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_scenario); if (unlikely(!__pyx_tuple__98)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__98);
__Pyx_GIVEREF(__pyx_tuple__98);
__pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__98, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_initialize_canals, 861, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 861, __pyx_L1_error)
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_21initialize_canals, 0, __pyx_n_s_Model_initialize_canals, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_2, __pyx_tuple__99);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_initialize_canals, __pyx_t_2) < 0) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_tuple__99 = PyTuple_Pack(1, ((PyObject*)__pyx_n_u_baseline)); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 861, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__99);
__Pyx_GIVEREF(__pyx_tuple__99);
0862: ############################################################################
0863: ###Canal Initialization
0864: ############################################################################
0865: #Waterways
+0866: if (scenario == 'baseline'):
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_scenario, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 866, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0867: self.fkc = Canal('fkc', 'FKC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fkc, __pyx_t_2) < 0) __PYX_ERR(0, 867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__14 = PyTuple_Pack(2, __pyx_n_u_fkc, __pyx_n_u_FKC); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(0, 867, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__14); __Pyx_GIVEREF(__pyx_tuple__14);
+0868: elif (scenario['FKC'] == 'baseline'):
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_scenario, __pyx_n_u_FKC); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 868, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+0869: self.fkc = Canal('fkc', 'FKC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fkc, __pyx_t_2) < 0) __PYX_ERR(0, 869, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
0870: else:
+0871: self.fkc = Canal('fkc', 'FKC', scenario['FKC'])
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_scenario, __pyx_n_u_FKC); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 871, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 871, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_u_fkc);
__Pyx_GIVEREF(__pyx_n_u_fkc);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_fkc);
__Pyx_INCREF(__pyx_n_u_FKC);
__Pyx_GIVEREF(__pyx_n_u_FKC);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_FKC);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 871, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_fkc, __pyx_t_2) < 0) __PYX_ERR(0, 871, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L3:;
0872:
+0873: self.xvc = Canal('xvc', 'XVC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 873, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_xvc, __pyx_t_2) < 0) __PYX_ERR(0, 873, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__15 = PyTuple_Pack(2, __pyx_n_u_xvc, __pyx_n_u_XVC); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 873, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__15); __Pyx_GIVEREF(__pyx_tuple__15);
+0874: self.madera = Canal('madera', 'MDC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__16, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 874, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_madera, __pyx_t_2) < 0) __PYX_ERR(0, 874, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_u_madera, __pyx_n_u_MDC); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 874, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__16); __Pyx_GIVEREF(__pyx_tuple__16);
+0875: self.calaqueduct = Canal('calaqueduct', 'CAA')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct, __pyx_t_2) < 0) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__17 = PyTuple_Pack(2, __pyx_n_u_calaqueduct, __pyx_n_u_CAA); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 875, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__17); __Pyx_GIVEREF(__pyx_tuple__17);
+0876: self.kwbcanal = Canal('kwbcanal', 'KBC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__18, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal, __pyx_t_2) < 0) __PYX_ERR(0, 876, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__18 = PyTuple_Pack(2, __pyx_n_u_kwbcanal, __pyx_n_u_KBC); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 876, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__18); __Pyx_GIVEREF(__pyx_tuple__18);
+0877: self.aecanal = Canal('aecanal', 'AEC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_aecanal, __pyx_t_2) < 0) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__19 = PyTuple_Pack(2, __pyx_n_u_aecanal, __pyx_n_u_AEC); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 877, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19);
+0878: self.kerncanal = Canal('kerncanal', 'KNC')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal, __pyx_t_2) < 0) __PYX_ERR(0, 878, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__20 = PyTuple_Pack(2, __pyx_n_u_kerncanal, __pyx_n_u_KNC); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 878, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__20); __Pyx_GIVEREF(__pyx_tuple__20);
+0879: self.calloway = Canal('calloway', 'CWY')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_calloway, __pyx_t_2) < 0) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__21 = PyTuple_Pack(2, __pyx_n_u_calloway, __pyx_n_u_CWY); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 879, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21);
+0880: self.lerdo = Canal('lerdo', 'LRD')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_lerdo, __pyx_t_2) < 0) __PYX_ERR(0, 880, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__22 = PyTuple_Pack(2, __pyx_n_u_lerdo, __pyx_n_u_LRD); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 880, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__22); __Pyx_GIVEREF(__pyx_tuple__22);
+0881: self.beardsley = Canal('beardsley', 'BLY')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_beardsley, __pyx_t_2) < 0) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__23 = PyTuple_Pack(2, __pyx_n_u_beardsley, __pyx_n_u_BLY); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 881, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23);
+0882: self.kernriverchannel = Canal('kernriverchannel', 'KNR')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel, __pyx_t_2) < 0) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__24 = PyTuple_Pack(2, __pyx_n_u_kernriverchannel, __pyx_n_u_KNR); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 882, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__24); __Pyx_GIVEREF(__pyx_tuple__24);
+0883: self.kaweahriverchannel = Canal('kaweahriverchannel', 'KWR')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel, __pyx_t_2) < 0) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__25 = PyTuple_Pack(2, __pyx_n_u_kaweahriverchannel, __pyx_n_u_KWR); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 883, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25);
+0884: self.tuleriverchannel = Canal('tuleriverchannel', 'TLR')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel, __pyx_t_2) < 0) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__26 = PyTuple_Pack(2, __pyx_n_u_tuleriverchannel, __pyx_n_u_TLR); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__26); __Pyx_GIVEREF(__pyx_tuple__26);
+0885: self.kingsriverchannel = Canal('kingsriverchannel', 'KGR')
__pyx_t_2 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_14calfews_src_cy_8canal_cy_Canal), __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kingsriverchannel, __pyx_t_2) < 0) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_tuple__27 = PyTuple_Pack(2, __pyx_n_u_kingsriverchannel, __pyx_n_u_KGR); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__27); __Pyx_GIVEREF(__pyx_tuple__27);
0886:
+0887: self.canal_list = [self.fkc, self.madera, self.xvc, self.calaqueduct, self.kwbcanal, self.aecanal, self.kerncanal, self.calloway, self.lerdo, self.beardsley, self.kernriverchannel, self.kaweahriverchannel, self.tuleriverchannel, self.kingsriverchannel]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_madera); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_aecanal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calloway); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lerdo); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_beardsley); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriverchannel); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = PyList_New(14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_16, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_16, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_16, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_16, 3, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_16, 4, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_16, 5, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_16, 6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_16, 7, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_16, 8, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_16, 9, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_16, 10, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_16, 11, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_16, 12, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_16, 13, __pyx_t_15); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_list, __pyx_t_16) < 0) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
0888:
0889: #initialize variables to store pumping from delta
+0890: self.trp_pumping = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_trp_pumping, __pyx_t_16) < 0) __PYX_ERR(0, 890, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0891: self.hro_pumping = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 891, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_hro_pumping, __pyx_t_16) < 0) __PYX_ERR(0, 891, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0892: self.cvp_allocation = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_cvp_allocation, __pyx_t_16) < 0) __PYX_ERR(0, 892, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0893: self.swp_allocation = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation, __pyx_t_16) < 0) __PYX_ERR(0, 893, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0894: self.annual_SWP = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_annual_SWP, __pyx_t_16) < 0) __PYX_ERR(0, 894, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0895: self.annual_CVP = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_annual_CVP, __pyx_t_16) < 0) __PYX_ERR(0, 895, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0896: self.ytd_pump_trp = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_trp, __pyx_t_16) < 0) __PYX_ERR(0, 896, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+0897: self.ytd_pump_hro = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_16 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_13, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_14); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_hro, __pyx_t_16) < 0) __PYX_ERR(0, 897, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
0898:
0899:
0900:
+0901: def create_object_associations(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_23create_object_associations(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_23create_object_associations = {"create_object_associations", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_23create_object_associations, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_23create_object_associations(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("create_object_associations (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_22create_object_associations(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_22create_object_associations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_key = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_canal_member = NULL;
PyObject *__pyx_v_z = NULL;
PyObject *__pyx_v_res = NULL;
long __pyx_v_use_reservoir;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_district_name = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_reservoir = NULL;
PyObject *__pyx_v_canal_to_reservoir = NULL;
CYTHON_UNUSED PyObject *__pyx_8genexpr2__pyx_v__ = NULL;
CYTHON_UNUSED PyObject *__pyx_8genexpr3__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__28)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("create_object_associations", 0);
__Pyx_TraceCall("create_object_associations", __pyx_f[0], 901, 0, __PYX_ERR(0, 901, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_27);
__Pyx_XDECREF(__pyx_t_28);
__Pyx_XDECREF(__pyx_t_29);
__Pyx_XDECREF(__pyx_t_30);
__Pyx_XDECREF(__pyx_t_31);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.create_object_associations", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_key);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_canal_member);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_district_name);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_reservoir);
__Pyx_XDECREF(__pyx_v_canal_to_reservoir);
__Pyx_XDECREF(__pyx_8genexpr2__pyx_v__);
__Pyx_XDECREF(__pyx_8genexpr3__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__100 = PyTuple_Pack(17, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_x, __pyx_n_s_xx, __pyx_n_s_district_object, __pyx_n_s_y, __pyx_n_s_canal_member, __pyx_n_s_z, __pyx_n_s_res, __pyx_n_s_use_reservoir, __pyx_n_s_yy, __pyx_n_s_district_name, __pyx_n_s_district, __pyx_n_s_reservoir, __pyx_n_s_canal_to_reservoir, __pyx_n_s__12, __pyx_n_s__12); if (unlikely(!__pyx_tuple__100)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__100);
__Pyx_GIVEREF(__pyx_tuple__100);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_23create_object_associations, 0, __pyx_n_s_Model_create_object_associations, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_create_object_associations, __pyx_t_2) < 0) __PYX_ERR(0, 901, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__100, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_create_object_associations, 901, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 901, __pyx_L1_error)
0902: ##Canal Structure Dictionary
0903: #This is the dictionary that holds the structure of the canal system. The dictionary is made up of lists, with the objects in the lists representing delivery nodes on the canal (canal is denoted by dictionary key)
0904: #Objects can be districts, waterbanks, or other canals. Canal objects show an intersection with the canal represented by the dictionary 'key' that holds the list. Dictionary keys are all canal keys. If a canal is located on a list, the canal associated with that list's key will also be on the list associated with the canal of the first key (i.e., if self.fkc is on the list with the key 'self.canal_district['xvc'], then the object self.xvc will be on the list with the key self.canal_district['fkc'] - these intersections help to organize these lists into a structure that models the interconnected canal structure
0905: #The first object on each list is either a reservoir or another canal
+0906: self.canal_district = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_district, __pyx_t_1) < 0) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+0907: self.canal_district['fkc'] = [self.millerton, self.fresno, self.fresnoid, self.kingsriverchannel, self.otherfriant, self.tulare, self.kaweahdelta, self.otherkaweah, self.kaweahriverchannel, self.exeter, self.lindsay, self.lindmore, self.porterville, self.lowertule, self.othertule, self.tuleriverchannel, self.teapot, self.saucelito, self.terra, self.othercrossvalley, self.pixley, self.delano, self.kerntulare, self.sosanjoaquin, self.shaffer, self.northkern, self.northkernwb, self.xvc, self.kernriverchannel, self.aecanal]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fresno); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fresnoid); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriverchannel); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherfriant); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tulare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahdelta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherkaweah); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exeter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lindsay); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lindmore); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_porterville); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lowertule); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othertule); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_teapot); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_saucelito); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_terra); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othercrossvalley); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pixley); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delano); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerntulare); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sosanjoaquin); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shaffer); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkern); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkernwb); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_28); __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_aecanal); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_30); __pyx_t_31 = PyList_New(30); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_31, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_31, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_31, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_31, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_31, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_31, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_31, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_31, 7, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_31, 8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_31, 9, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_31, 10, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_31, 11, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_31, 12, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_31, 13, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_31, 14, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_31, 15, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_31, 16, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_31, 17, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_31, 18, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_31, 19, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_31, 20, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_31, 21, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_23); PyList_SET_ITEM(__pyx_t_31, 22, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_24); PyList_SET_ITEM(__pyx_t_31, 23, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_25); PyList_SET_ITEM(__pyx_t_31, 24, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_26); PyList_SET_ITEM(__pyx_t_31, 25, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_31, 26, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_28); PyList_SET_ITEM(__pyx_t_31, 27, __pyx_t_28); __Pyx_GIVEREF(__pyx_t_29); PyList_SET_ITEM(__pyx_t_31, 28, __pyx_t_29); __Pyx_GIVEREF(__pyx_t_30); PyList_SET_ITEM(__pyx_t_31, 29, __pyx_t_30); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_21 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_30); if (unlikely(PyObject_SetItem(__pyx_t_30, __pyx_n_u_fkc, __pyx_t_31) < 0)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_30); __pyx_t_30 = 0; __Pyx_DECREF(__pyx_t_31); __pyx_t_31 = 0;
+0908: self.canal_district['mdc'] = [self.millerton, self.maderairr, self.chowchilla]
__pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_maderairr); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_30); __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_chowchilla); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_28 = PyList_New(3); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_28); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_28, 0, __pyx_t_31); __Pyx_GIVEREF(__pyx_t_30); PyList_SET_ITEM(__pyx_t_28, 1, __pyx_t_30); __Pyx_GIVEREF(__pyx_t_29); PyList_SET_ITEM(__pyx_t_28, 2, __pyx_t_29); __pyx_t_31 = 0; __pyx_t_30 = 0; __pyx_t_29 = 0; __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); if (unlikely(PyObject_SetItem(__pyx_t_29, __pyx_n_u_mdc, __pyx_t_28) < 0)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+0909: self.canal_district['caa'] = [self.sanluis, self.southbay, self.sanluiswater, self.panoche, self.delpuerto, self.otherswp, self.othercvp, self.otherexchange, self.westlands, self.centralcoast, self.tularelake, self.dudleyridge, self.losthills, self.berrenda, self.belridge, self.semitropic, self.buenavista, self.wkwb, self.xvc, self.kwbcanal, self.kernriverchannel, self.henrymiller, self.wheeler, self.aecanal, self.tejon, self.tehachapi, self.socal]
__pyx_t_28 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_28)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_28); __pyx_t_29 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_29)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_29); __pyx_t_30 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluiswater); if (unlikely(!__pyx_t_30)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_30); __pyx_t_31 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_panoche); if (unlikely(!__pyx_t_31)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_31); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delpuerto); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherswp); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othercvp); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherexchange); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westlands); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tularelake); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dudleyridge); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_losthills); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wkwb); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_henrymiller); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wheeler); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_aecanal); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tejon); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tehachapi); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(27); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_28); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_28); __Pyx_GIVEREF(__pyx_t_29); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_29); __Pyx_GIVEREF(__pyx_t_30); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_30); __Pyx_GIVEREF(__pyx_t_31); PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_31); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_4, 4, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_26); PyList_SET_ITEM(__pyx_t_4, 5, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_25); PyList_SET_ITEM(__pyx_t_4, 6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_24); PyList_SET_ITEM(__pyx_t_4, 7, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_23); PyList_SET_ITEM(__pyx_t_4, 8, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_4, 9, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_4, 10, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_4, 11, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_4, 12, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_4, 13, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_4, 14, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_4, 15, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_4, 16, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_4, 17, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_4, 18, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_4, 19, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_4, 20, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_4, 21, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_4, 22, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_4, 23, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_4, 24, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_4, 25, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 26, __pyx_t_5); __pyx_t_28 = 0; __pyx_t_29 = 0; __pyx_t_30 = 0; __pyx_t_31 = 0; __pyx_t_27 = 0; __pyx_t_26 = 0; __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_21 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_13 = 0; __pyx_t_12 = 0; __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_caa, __pyx_t_4) < 0)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0910: self.canal_district['xvc'] = [self.calaqueduct, self.buenavista, self.kwb, self.irvineranch, self.pioneer, self.b2800, self.berrendawb, self.rosedale, self.ID4, self.kernriverchannel, self.fkc, self.aecanal, self.beardsley]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pioneer); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_b2800); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrendawb); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ID4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_aecanal); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_beardsley); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = PyList_New(13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_17, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_17, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_17, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_17, 3, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_17, 4, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_17, 5, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_17, 6, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_17, 7, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_17, 8, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_17, 9, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_17, 10, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_17, 11, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_17, 12, __pyx_t_16); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_11 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (unlikely(PyObject_SetItem(__pyx_t_16, __pyx_n_u_xvc, __pyx_t_17) < 0)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+0911: self.canal_district['kbc'] = [self.calaqueduct, self.kwb, self.kerncanal]
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = PyList_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_14, 1, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_14, 2, __pyx_t_15); __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_n_u_kbc, __pyx_t_14) < 0)) __PYX_ERR(0, 911, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0912: self.canal_district['aec'] = [self.fkc, self.xvc, self.kernriverchannel, self.arvin, self.calaqueduct]
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arvin); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = PyList_New(5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_12, 2, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_12, 3, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_12, 4, __pyx_t_13); __pyx_t_14 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_n_u_aec, __pyx_t_12) < 0)) __PYX_ERR(0, 912, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+0913: self.canal_district['knr'] = [self.isabella, self.calloway, self.kerndelta, self.lerdo, self.xvc, self.aecanal, self.fkc, self.kerncanal, self.rosedale, self.bakersfield, self.berrendawb, self.b2800, self.pioneer, self.kwb, self.buenavista, self.calaqueduct]
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calloway); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lerdo); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_aecanal); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_bakersfield); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrendawb); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_b2800); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pioneer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = PyList_New(16); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_12); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_17); PyList_SET_ITEM(__pyx_t_20, 2, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_16); PyList_SET_ITEM(__pyx_t_20, 3, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_20, 4, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_14); PyList_SET_ITEM(__pyx_t_20, 5, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_11); PyList_SET_ITEM(__pyx_t_20, 6, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_20, 7, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_20, 8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_20, 9, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_20, 10, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 11, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 12, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_20, 13, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 14, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_20, 15, __pyx_t_19); __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_17 = 0; __pyx_t_16 = 0; __pyx_t_15 = 0; __pyx_t_14 = 0; __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_n_u_knr, __pyx_t_20) < 0)) __PYX_ERR(0, 913, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0914: self.canal_district['knc'] = [self.kernriverchannel, self.kerndelta, self.ID4, self.pioneer, self.buenavista, self.kwb]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ID4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pioneer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_t_6); __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_knc, __pyx_t_7) < 0)) __PYX_ERR(0, 914, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0915: #self.canal_district['gsl'] = [self.kernriverchannel, self.xvc, self.rosedale21]
+0916: self.canal_district['cwy'] = [self.kernriverchannel, self.beardsley, self.cawelo, self.northkern, self.poso, self.northkernwb]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_beardsley); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cawelo); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkern); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkernwb); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = PyList_New(6); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_20, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 4, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_20, 5, __pyx_t_19); __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_n_u_cwy, __pyx_t_20) < 0)) __PYX_ERR(0, 916, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0917: self.canal_district['lrd'] = [self.kernriverchannel, self.cawelo, self.northkern, self.poso, self.northkernwb]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cawelo); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkern); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_northkernwb); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyList_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_t_5); __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_lrd, __pyx_t_6) < 0)) __PYX_ERR(0, 917, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0918: self.canal_district['bly'] = [self.xvc, self.calloway]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calloway); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_bly, __pyx_t_4) < 0)) __PYX_ERR(0, 918, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0919: self.canal_district['kwr'] = [self.kaweah, self.otherkaweah, self.tulare, self.fkc, self.kaweahdelta, self.tularelake]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_otherkaweah); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tulare); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahdelta); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tularelake); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_t_20); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_kwr, __pyx_t_7) < 0)) __PYX_ERR(0, 919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0920: self.canal_district['tlr'] = [self.success, self.othertule, self.lowertule, self.porterville, self.fkc, self.tularelake]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_othertule); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lowertule); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_porterville); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tularelake); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_4, 3, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_4, 4, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 5, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_20 = 0; __pyx_t_19 = 0; __pyx_t_18 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_tlr, __pyx_t_4) < 0)) __PYX_ERR(0, 920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0921: self.canal_district['kgr'] = [self.pineflat, self.consolidated, self.alta, self.krwa, self.fresnoid, self.fkc, self.kaweahdelta, self.tularelake]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_consolidated); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_alta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_krwa); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fresnoid); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahdelta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tularelake); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyList_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_9, 3, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_19); PyList_SET_ITEM(__pyx_t_9, 4, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_9, 5, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_9, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 7, __pyx_t_8); __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_18 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_n_u_kgr, __pyx_t_9) < 0)) __PYX_ERR(0, 921, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0922:
+0923: self.canal_district_len = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len, __pyx_t_9) < 0) __PYX_ERR(0, 923, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0924: for key in ['fkc','mdc','caa','xvc','kbc','aec','knr','knc','cwy','lrd','bly','kwr','tlr','kgr']:
__pyx_t_9 = __pyx_tuple__29; __Pyx_INCREF(__pyx_t_9); __pyx_t_32 = 0; for (;;) { if (__pyx_t_32 >= 14) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_32); __Pyx_INCREF(__pyx_t_8); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 924, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_XDECREF_SET(__pyx_v_key, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_tuple__29 = PyTuple_Pack(14, __pyx_n_u_fkc, __pyx_n_u_mdc, __pyx_n_u_caa, __pyx_n_u_xvc, __pyx_n_u_kbc, __pyx_n_u_aec, __pyx_n_u_knr, __pyx_n_u_knc, __pyx_n_u_cwy, __pyx_n_u_lrd, __pyx_n_u_bly, __pyx_n_u_kwr, __pyx_n_u_tlr, __pyx_n_u_kgr); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 924, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__29); __Pyx_GIVEREF(__pyx_tuple__29);
+0925: self.canal_district_len[key] = len(self.canal_district[key])
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_v_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_33 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_33 == ((Py_ssize_t)-1))) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyInt_FromSsize_t(__pyx_t_33); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_key, __pyx_t_7) < 0)) __PYX_ERR(0, 925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
0926:
+0927: for x in self.private_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_7 = __pyx_t_9; __Pyx_INCREF(__pyx_t_7); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_34 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 927, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_32); __Pyx_INCREF(__pyx_t_9); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 927, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_32); __Pyx_INCREF(__pyx_t_9); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 927, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_34(__pyx_t_7); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 927, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0928: x.seepage = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_seepage, __pyx_t_9) < 0) __PYX_ERR(0, 928, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0929: x.must_fill = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_must_fill, __pyx_t_9) < 0) __PYX_ERR(0, 929, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0930: x.seasonal_connection = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_seasonal_connection, __pyx_t_9) < 0) __PYX_ERR(0, 930, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0931: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_35 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 931, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 931, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 931, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_35(__pyx_t_8); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 931, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0932: district_object = self.district_keys[xx]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_20); __pyx_t_20 = 0;
+0933: x.seepage[xx] = district_object.seepage
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_seepage); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_seepage); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_xx, __pyx_t_20) < 0)) __PYX_ERR(0, 933, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0934: x.must_fill[xx] = district_object.must_fill
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_must_fill); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_must_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_xx, __pyx_t_20) < 0)) __PYX_ERR(0, 934, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0935: x.seasonal_connection[xx] = district_object.seasonal_connection
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_seasonal_connection); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_seasonal_connection); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_xx, __pyx_t_20) < 0)) __PYX_ERR(0, 935, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0936: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_8 = __pyx_t_7; __Pyx_INCREF(__pyx_t_8); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_34 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 936, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_32); __Pyx_INCREF(__pyx_t_7); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 936, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_8, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_32); __Pyx_INCREF(__pyx_t_7); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 936, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_8, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_34(__pyx_t_8); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 936, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0937: x.seepage = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_seepage, __pyx_t_7) < 0) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0938: x.must_fill = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_must_fill, __pyx_t_7) < 0) __PYX_ERR(0, 938, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0939: x.seasonal_connection = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_seasonal_connection, __pyx_t_7) < 0) __PYX_ERR(0, 939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0940: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_20 = __pyx_t_7; __Pyx_INCREF(__pyx_t_20); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_35 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 940, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_33); __Pyx_INCREF(__pyx_t_7); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 940, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_20, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_33); __Pyx_INCREF(__pyx_t_7); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 940, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_20, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_35(__pyx_t_20); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 940, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0941: district_object = self.district_keys[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_9); __pyx_t_9 = 0;
+0942: x.seepage[xx] = district_object.seepage
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_seepage); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_seepage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 942, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0943: x.must_fill[xx] = district_object.must_fill
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_must_fill); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_must_fill); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 943, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0944: x.seasonal_connection[xx] = district_object.seasonal_connection
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_seasonal_connection); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_seasonal_connection); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0945:
0946: ###After the canal structure is defined, each of the nodes on the list
0947: ###has a demand initialized. There are many different types of demands
0948: ###depending on the surface water availabilities
+0949: for y in self.canal_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_20 = __pyx_t_8; __Pyx_INCREF(__pyx_t_20); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_34 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 949, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_32); __Pyx_INCREF(__pyx_t_8); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 949, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_20, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_32); __Pyx_INCREF(__pyx_t_8); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 949, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_20, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_34(__pyx_t_20); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 949, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0950: y.num_sites = self.canal_district_len[y.name]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_num_sites, __pyx_t_7) < 0) __PYX_ERR(0, 950, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0951: y.turnout_use = [0.0 for _ in range(y.num_sites)] ##how much water diverted at a node
{ /* enter inner scope */
__pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) {
__pyx_t_9 = __pyx_t_8; __Pyx_INCREF(__pyx_t_9); __pyx_t_33 = 0;
__pyx_t_35 = NULL;
} else {
__pyx_t_33 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_35 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 951, __pyx_L17_error)
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
for (;;) {
if (likely(!__pyx_t_35)) {
if (likely(PyList_CheckExact(__pyx_t_9))) {
if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_33); __Pyx_INCREF(__pyx_t_8); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 951, __pyx_L17_error)
#else
__pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_8);
#endif
} else {
if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_33); __Pyx_INCREF(__pyx_t_8); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 951, __pyx_L17_error)
#else
__pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 951, __pyx_L17_error)
__Pyx_GOTREF(__pyx_t_8);
#endif
}
} else {
__pyx_t_8 = __pyx_t_35(__pyx_t_9);
if (unlikely(!__pyx_t_8)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 951, __pyx_L17_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_8);
}
__Pyx_XDECREF_SET(__pyx_8genexpr2__pyx_v__, __pyx_t_8);
__pyx_t_8 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 951, __pyx_L17_error)
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_XDECREF(__pyx_8genexpr2__pyx_v__); __pyx_8genexpr2__pyx_v__ = 0;
goto __pyx_L20_exit_scope;
__pyx_L17_error:;
__Pyx_XDECREF(__pyx_8genexpr2__pyx_v__); __pyx_8genexpr2__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L20_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_turnout_use, __pyx_t_7) < 0) __PYX_ERR(0, 951, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0952: y.flow = [0.0 for _ in range(y.num_sites+1)] ##how much water passing through a node (inc. diversions)
{ /* enter inner scope */
__pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_9, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {
__pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_33 = 0;
__pyx_t_35 = NULL;
} else {
__pyx_t_33 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_35 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 952, __pyx_L23_error)
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
for (;;) {
if (likely(!__pyx_t_35)) {
if (likely(PyList_CheckExact(__pyx_t_8))) {
if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 952, __pyx_L23_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
} else {
if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 952, __pyx_L23_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 952, __pyx_L23_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
}
} else {
__pyx_t_9 = __pyx_t_35(__pyx_t_8);
if (unlikely(!__pyx_t_9)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 952, __pyx_L23_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_9);
}
__Pyx_XDECREF_SET(__pyx_8genexpr3__pyx_v__, __pyx_t_9);
__pyx_t_9 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_7, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 952, __pyx_L23_error)
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF(__pyx_8genexpr3__pyx_v__); __pyx_8genexpr3__pyx_v__ = 0;
goto __pyx_L26_exit_scope;
__pyx_L23_error:;
__Pyx_XDECREF(__pyx_8genexpr3__pyx_v__); __pyx_8genexpr3__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L26_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_flow, __pyx_t_7) < 0) __PYX_ERR(0, 952, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0953: y.demand = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_demand, __pyx_t_7) < 0) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0954: y.turnout_frac = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_turnout_frac, __pyx_t_7) < 0) __PYX_ERR(0, 954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0955: y.recovery_flow_frac = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_recovery_flow_frac, __pyx_t_7) < 0) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0956: y.daily_flow = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 956, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_daily_flow, __pyx_t_7) < 0) __PYX_ERR(0, 956, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0957: y.daily_turnout = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_daily_turnout, __pyx_t_7) < 0) __PYX_ERR(0, 957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+0958: for canal_member in self.canal_district[y.name]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_35 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 958, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 958, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 958, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_35(__pyx_t_8); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 958, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_canal_member, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+0959: y.daily_flow[canal_member.key] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); } } __pyx_t_9 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_18, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_daily_flow); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal_member, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_7, __pyx_t_9) < 0)) __PYX_ERR(0, 959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0960: y.daily_turnout[canal_member.key] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); } } __pyx_t_9 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_18, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_daily_turnout); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal_member, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_7, __pyx_t_9) < 0)) __PYX_ERR(0, 960, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
0961:
+0962: for z in ['contractor', 'turnout', 'excess', 'priority', 'secondary', 'initial', 'supplemental']:
__pyx_t_8 = __pyx_tuple__30; __Pyx_INCREF(__pyx_t_8); __pyx_t_33 = 0; for (;;) { if (__pyx_t_33 >= 7) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_33); __Pyx_INCREF(__pyx_t_9); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 962, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* … */ __pyx_tuple__30 = PyTuple_Pack(7, __pyx_n_u_contractor, __pyx_n_u_turnout, __pyx_n_u_excess, __pyx_n_u_priority, __pyx_n_u_secondary, __pyx_n_u_initial, __pyx_n_u_supplemental); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 962, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30);
+0963: y.demand[z] = np.zeros(y.num_sites)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); } } __pyx_t_9 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_18, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_demand); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_v_z, __pyx_t_9) < 0)) __PYX_ERR(0, 963, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0964: y.turnout_frac[z] = np.zeros(y.num_sites)
__Pyx_GetModuleGlobalName(__pyx_t_19, __pyx_n_s_np); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_9 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_18, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_19); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_z, __pyx_t_9) < 0)) __PYX_ERR(0, 964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0965: y.recovery_flow_frac[z] = np.ones(y.num_sites)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_ones); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_19))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); } } __pyx_t_9 = (__pyx_t_18) ? __Pyx_PyObject_Call2Args(__pyx_t_19, __pyx_t_18, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_19, __pyx_t_7); __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_v_z, __pyx_t_9) < 0)) __PYX_ERR(0, 965, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+0966: for z in [self.calaqueduct, self.fkc, self.madera, self.kernriverchannel, self.tuleriverchannel, self.kaweahriverchannel]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_madera); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyTuple_New(6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_19 = 0; __pyx_t_7 = 0; __pyx_t_18 = 0; __pyx_t_6 = 0; __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_33 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (__pyx_t_33 >= 6) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_33); __Pyx_INCREF(__pyx_t_5); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 966, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0967: y.demand[z.name] = np.zeros(y.num_sites)##for irrigation deliveries
__Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_5 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_19, __pyx_t_18) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_18); __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_18, __pyx_t_5) < 0)) __PYX_ERR(0, 967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0968: y.turnout_frac[z] = np.zeros(y.num_sites)
__Pyx_GetModuleGlobalName(__pyx_t_18, __pyx_n_s_np); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_5 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_19, __pyx_t_18) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_18); __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_z, __pyx_t_5) < 0)) __PYX_ERR(0, 968, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0969: y.recovery_flow_frac[z] = np.ones(y.num_sites)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_ones); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); } } __pyx_t_5 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_19, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_7); __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_v_z, __pyx_t_5) < 0)) __PYX_ERR(0, 969, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
0970:
0971: ##There are 6 main canals (fkc, madera, calaqueduct, kernriverchannel, kaweahriverchannel, and tuleriverchannel) that are directly connected to surface water storage
0972: ##The other canals connect these major arteries, but sometimes water from one canal will have 'priority' to use the connecting canals
0973: ##mainly shows that the California Aqueduct has first priority to use the Cross Valley Canal
0974: ##and the Kern River has first priority over the kern river canal
+0975: self.canal_priority = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority, __pyx_t_20) < 0) __PYX_ERR(0, 975, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0976: self.canal_priority['fkc'] = [self.fkc]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_fkc, __pyx_t_6) < 0)) __PYX_ERR(0, 976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0977: self.canal_priority['mdc'] = [self.madera]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_madera); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_mdc, __pyx_t_20) < 0)) __PYX_ERR(0, 977, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0978: self.canal_priority['caa'] = [self.calaqueduct]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_caa, __pyx_t_6) < 0)) __PYX_ERR(0, 978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0979: self.canal_priority['xvc'] = [self.calaqueduct]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_xvc, __pyx_t_20) < 0)) __PYX_ERR(0, 979, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0980: self.canal_priority['kbc'] = [self.calaqueduct, self.kernriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_6); __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_kbc, __pyx_t_5) < 0)) __PYX_ERR(0, 980, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0981: self.canal_priority['aec'] = [self.calaqueduct, self.fkc]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_6); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_aec, __pyx_t_20) < 0)) __PYX_ERR(0, 981, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0982: self.canal_priority['knr'] = [self.kernriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_knr, __pyx_t_6) < 0)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0983: self.canal_priority['knc'] = [self.kernriverchannel]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_knc, __pyx_t_20) < 0)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0984: self.canal_priority['gsl'] = [self.calaqueduct, self.fkc, self.kernriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = PyList_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_18, 2, __pyx_t_5); __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_gsl, __pyx_t_18) < 0)) __PYX_ERR(0, 984, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+0985: self.canal_priority['cwy'] = [self.calaqueduct, self.fkc, self.kernriverchannel]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 2, __pyx_t_6); __pyx_t_18 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_cwy, __pyx_t_20) < 0)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0986: self.canal_priority['lrd'] = [self.calaqueduct, self.fkc, self.kernriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = PyList_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_18, 2, __pyx_t_5); __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_lrd, __pyx_t_18) < 0)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+0987: self.canal_priority['bly'] = [self.calaqueduct, self.fkc, self.kernriverchannel]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(3); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 2, __pyx_t_6); __pyx_t_18 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_bly, __pyx_t_20) < 0)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0988: self.canal_priority['kwr'] = [self.kaweahriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_kwr, __pyx_t_6) < 0)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0989: self.canal_priority['tlr'] = [self.tuleriverchannel]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_tlr, __pyx_t_20) < 0)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0990: self.canal_priority['kgr'] = [self.kingsriverchannel]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriverchannel); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_kgr, __pyx_t_6) < 0)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
0991:
0992: ##Linkages between reservoirs, canals, and surface water contracts
0993: ##Reservoir-Contract Relationships (reservoirs are dictionary key, contracts are list objects)
+0994: self.reservoir_contract = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract, __pyx_t_6) < 0) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+0995: self.reservoir_contract['SLF'] = [self.crossvalley, self.cvpdelta, self.cvpexchange]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = PyList_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_18, 2, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_20 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_SLF, __pyx_t_18) < 0)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+0996: self.reservoir_contract['SLS'] = [self.swpdelta]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_SLS, __pyx_t_5) < 0)) __PYX_ERR(0, 996, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0997: self.reservoir_contract['MIL'] = [self.friant2, self.friant1]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = PyList_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_18); __pyx_t_5 = 0; __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_MIL, __pyx_t_20) < 0)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+0998: self.reservoir_contract['ISB'] = [self.kernriver]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = PyList_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_ISB, __pyx_t_18) < 0)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+0999: self.reservoir_contract['SUC'] = [self.tuleriver]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriver); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_SUC, __pyx_t_20) < 0)) __PYX_ERR(0, 999, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1000: self.reservoir_contract['KWH'] = [self.kaweahriver]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriver); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = PyList_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_n_u_KWH, __pyx_t_18) < 0)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1001: self.reservoir_contract['PFT'] = [self.kingsriver]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriver); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = PyList_New(1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_PFT, __pyx_t_20) < 0)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1002:
+1003: for x in self.district_list:
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (likely(PyList_CheckExact(__pyx_t_20)) || PyTuple_CheckExact(__pyx_t_20)) { __pyx_t_18 = __pyx_t_20; __Pyx_INCREF(__pyx_t_18); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_34 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1003, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_20); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_20); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1003, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } } else { __pyx_t_20 = __pyx_t_34(__pyx_t_18); if (unlikely(!__pyx_t_20)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1003, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_20); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_20); __pyx_t_20 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1004: x.carryover_rights = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_20) < 0) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1005: for y in self.contract_list:
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (likely(PyList_CheckExact(__pyx_t_20)) || PyTuple_CheckExact(__pyx_t_20)) { __pyx_t_5 = __pyx_t_20; __Pyx_INCREF(__pyx_t_5); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_35 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1005, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_20); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1005, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_20); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1005, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } } else { __pyx_t_20 = __pyx_t_35(__pyx_t_5); if (unlikely(!__pyx_t_20)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1005, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_20); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_20); __pyx_t_20 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1006: if y.type == 'right':
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_36 = (__Pyx_PyUnicode_Equals(__pyx_t_20, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_36) { /* … */ goto __pyx_L37; }
+1007: if x.has_pesticide:
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_36 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_36) { /* … */ goto __pyx_L38; }
+1008: x.carryover_rights[y.name] = y.carryover*x.rights[y.name]['carryover']*(1.0-x.private_fraction[0])
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_19, __pyx_n_u_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_20, __pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_20, 1.0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_Multiply(__pyx_t_19, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1009: else:
+1010: x.carryover_rights[y.name] = y.carryover*x.rights[y.name]['carryover']*(1.0-x.private_fraction[0])
/*else*/ {
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyNumber_Multiply(__pyx_t_20, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_20 = __Pyx_GetItemInt(__pyx_t_7, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_20, 1.0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__pyx_t_20 = PyNumber_Multiply(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_6, __pyx_t_20) < 0)) __PYX_ERR(0, 1010, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
}
__pyx_L38:;
1011:
1012: else:
+1013: x.carryover_rights[y.name] = 0.0
/*else*/ {
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_t_6, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1013, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_L37:;
+1014: for x in self.private_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_5 = __pyx_t_18; __Pyx_INCREF(__pyx_t_5); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_34 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1014, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_32); __Pyx_INCREF(__pyx_t_18); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1014, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_5, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_32); __Pyx_INCREF(__pyx_t_18); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1014, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_5, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_34(__pyx_t_5); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1014, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1015: x.carryover_rights = {}
__pyx_t_18 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_18) < 0) __PYX_ERR(0, 1015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1016: for xx in x.district_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_6 = __pyx_t_18; __Pyx_INCREF(__pyx_t_6); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_35 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1016, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_33); __Pyx_INCREF(__pyx_t_18); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1016, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_6, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_33); __Pyx_INCREF(__pyx_t_18); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1016, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_6, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_35(__pyx_t_6); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1016, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1017: district_object = self.district_keys[xx]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_xx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_20); __pyx_t_20 = 0;
+1018: x.carryover_rights[xx] = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_v_xx, __pyx_t_20) < 0)) __PYX_ERR(0, 1018, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1019: for y in self.contract_list:
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (likely(PyList_CheckExact(__pyx_t_20)) || PyTuple_CheckExact(__pyx_t_20)) { __pyx_t_18 = __pyx_t_20; __Pyx_INCREF(__pyx_t_18); __pyx_t_37 = 0; __pyx_t_38 = NULL; } else { __pyx_t_37 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_38 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 1019, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; for (;;) { if (likely(!__pyx_t_38)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_37 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_37); __Pyx_INCREF(__pyx_t_20); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1019, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_18, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } else { if (__pyx_t_37 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_37); __Pyx_INCREF(__pyx_t_20); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1019, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_18, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } } else { __pyx_t_20 = __pyx_t_38(__pyx_t_18); if (unlikely(!__pyx_t_20)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1019, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_20); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_20); __pyx_t_20 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1020: if y.type == 'right':
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_36 = (__Pyx_PyUnicode_Equals(__pyx_t_20, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_36) { /* … */ goto __pyx_L45; }
+1021: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][0]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_carryover); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_20, __pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_xx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_Multiply(__pyx_t_9, __pyx_t_19); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_19, __pyx_t_20) < 0)) __PYX_ERR(0, 1021, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1022: else:
+1023: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1023, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_20, __pyx_v_xx); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1023, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1023, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_20, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1023, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
}
__pyx_L45:;
+1024: for x in self.city_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_34 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1024, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_32); __Pyx_INCREF(__pyx_t_5); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1024, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_32); __Pyx_INCREF(__pyx_t_5); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1024, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_34(__pyx_t_6); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1024, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1025: x.carryover_rights = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_5) < 0) __PYX_ERR(0, 1025, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1026: for xx in x.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_18 = __pyx_t_5; __Pyx_INCREF(__pyx_t_18); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_35 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1026, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_33); __Pyx_INCREF(__pyx_t_5); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1026, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_18, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_33); __Pyx_INCREF(__pyx_t_5); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1026, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_18, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_35(__pyx_t_18); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1026, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1027: district_object = self.district_keys[xx]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_20); __pyx_t_20 = 0;
+1028: x.carryover_rights[xx] = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_xx, __pyx_t_20) < 0)) __PYX_ERR(0, 1028, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1029: for y in self.contract_list:
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (likely(PyList_CheckExact(__pyx_t_20)) || PyTuple_CheckExact(__pyx_t_20)) { __pyx_t_5 = __pyx_t_20; __Pyx_INCREF(__pyx_t_5); __pyx_t_37 = 0; __pyx_t_38 = NULL; } else { __pyx_t_37 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_20); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_38 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 1029, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; for (;;) { if (likely(!__pyx_t_38)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_37 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_37); __Pyx_INCREF(__pyx_t_20); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1029, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_5, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } else { if (__pyx_t_37 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_20 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_37); __Pyx_INCREF(__pyx_t_20); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1029, __pyx_L1_error) #else __pyx_t_20 = PySequence_ITEM(__pyx_t_5, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif } } else { __pyx_t_20 = __pyx_t_38(__pyx_t_5); if (unlikely(!__pyx_t_20)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1029, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_20); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_20); __pyx_t_20 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1030: if y.type == 'right':
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_36 = (__Pyx_PyUnicode_Equals(__pyx_t_20, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_36) { /* … */ goto __pyx_L52; }
+1031: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][0]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_carryover); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_20, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_Multiply(__pyx_t_7, __pyx_t_9); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_9, __pyx_t_20) < 0)) __PYX_ERR(0, 1031, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1032: else:
+1033: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_20, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1033, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_20, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1033, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
}
__pyx_L52:;
1034:
1035: ##Use reservoir/contract dictionary to develop
1036: ##a list linking individual districts to reservoirs,
1037: ##based on their individual contracts
+1038: for x in self.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_18 = __pyx_t_6; __Pyx_INCREF(__pyx_t_18); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_34 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1038, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_6); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1038, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_6); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1038, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_34(__pyx_t_18); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1038, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1039: x.reservoir_contract = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract, __pyx_t_6) < 0) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1040: for res in self.reservoir_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_35 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1040, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_6); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1040, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_6); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1040, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_35(__pyx_t_5); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1040, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1041: use_reservoir = 0
__pyx_v_use_reservoir = 0;
+1042: for y in self.reservoir_contract[res.key]:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_20); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_20 = __pyx_t_9; __Pyx_INCREF(__pyx_t_20); __pyx_t_37 = 0; __pyx_t_38 = NULL; } else { __pyx_t_37 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_38 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 1042, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_38)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_37 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_37); __Pyx_INCREF(__pyx_t_9); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1042, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_20, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_37 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_37); __Pyx_INCREF(__pyx_t_9); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1042, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_20, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_38(__pyx_t_20); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1042, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1043: for yy in x.contract_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_6 = __pyx_t_9; __Pyx_INCREF(__pyx_t_6); __pyx_t_39 = 0; __pyx_t_40 = NULL; } else { __pyx_t_39 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_40 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1043, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_40)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_39 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_39); __Pyx_INCREF(__pyx_t_9); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1043, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_39 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_39); __Pyx_INCREF(__pyx_t_9); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1043, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_6, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_40(__pyx_t_6); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1043, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __pyx_L60_break:; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1044: if y.name == yy:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyObject_RichCompare(__pyx_t_9, __pyx_v_yy, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_36 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_36) { /* … */ }
+1045: use_reservoir = 1
__pyx_v_use_reservoir = 1;
+1046: break
goto __pyx_L60_break;
+1047: if use_reservoir == 1:
__pyx_t_36 = ((__pyx_v_use_reservoir == 1) != 0);
if (__pyx_t_36) {
/* … */
goto __pyx_L62;
}
+1048: x.reservoir_contract[res.key] = 1
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_20, __pyx_t_6, __pyx_int_1) < 0)) __PYX_ERR(0, 1048, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1049: else:
+1050: x.reservoir_contract[res.key] = 0
/*else*/ {
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1050, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_20, __pyx_int_0) < 0)) __PYX_ERR(0, 1050, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
}
__pyx_L62:;
+1051: for x in self.private_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_5 = __pyx_t_18; __Pyx_INCREF(__pyx_t_5); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_34 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1051, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_32); __Pyx_INCREF(__pyx_t_18); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1051, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_5, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_32); __Pyx_INCREF(__pyx_t_18); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1051, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_5, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_34(__pyx_t_5); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1051, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1052: x.reservoir_contract = {}
__pyx_t_18 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract, __pyx_t_18) < 0) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1053: for res in self.reservoir_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_20 = __pyx_t_18; __Pyx_INCREF(__pyx_t_20); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_35 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1053, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_33); __Pyx_INCREF(__pyx_t_18); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1053, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_20, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_33); __Pyx_INCREF(__pyx_t_18); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1053, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_20, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_35(__pyx_t_20); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1053, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1054: use_reservoir = 0
__pyx_v_use_reservoir = 0;
+1055: for y in self.reservoir_contract[res.key]:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_6 = __pyx_t_7; __Pyx_INCREF(__pyx_t_6); __pyx_t_37 = 0; __pyx_t_38 = NULL; } else { __pyx_t_37 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_38 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 1055, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_38)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_37 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_37); __Pyx_INCREF(__pyx_t_7); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_37 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_37); __Pyx_INCREF(__pyx_t_7); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1055, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_38(__pyx_t_6); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1055, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1056: for district_name in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_18 = __pyx_t_7; __Pyx_INCREF(__pyx_t_18); __pyx_t_39 = 0; __pyx_t_40 = NULL; } else { __pyx_t_39 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_40 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1056, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_40)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_39 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_39); __Pyx_INCREF(__pyx_t_7); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1056, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_39 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_39); __Pyx_INCREF(__pyx_t_7); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1056, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_40(__pyx_t_18); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1056, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_district_name, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1057: district = self.district_keys[district_name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_district_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_9); __pyx_t_9 = 0;
+1058: for yy in district.contract_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_7 = __pyx_t_9; __Pyx_INCREF(__pyx_t_7); __pyx_t_41 = 0; __pyx_t_42 = NULL; } else { __pyx_t_41 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_42 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 1058, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_42)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_41 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_41); __Pyx_INCREF(__pyx_t_9); __pyx_t_41++; if (unlikely(0 < 0)) __PYX_ERR(0, 1058, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_41); __pyx_t_41++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_41 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_41); __Pyx_INCREF(__pyx_t_9); __pyx_t_41++; if (unlikely(0 < 0)) __PYX_ERR(0, 1058, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_41); __pyx_t_41++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_42(__pyx_t_7); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1058, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __pyx_L72_break:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1059: if y.name == yy:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_19 = PyObject_RichCompare(__pyx_t_9, __pyx_v_yy, Py_EQ); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1059, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_36 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1059, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_36) { /* … */ }
+1060: use_reservoir = 1
__pyx_v_use_reservoir = 1;
+1061: break
goto __pyx_L72_break;
+1062: if use_reservoir == 1:
__pyx_t_36 = ((__pyx_v_use_reservoir == 1) != 0);
if (__pyx_t_36) {
/* … */
goto __pyx_L74;
}
+1063: x.reservoir_contract[res.key] = 1
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_18, __pyx_int_1) < 0)) __PYX_ERR(0, 1063, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
1064: else:
+1065: x.reservoir_contract[res.key] = 0
/*else*/ {
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_6, __pyx_int_0) < 0)) __PYX_ERR(0, 1065, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_L74:;
+1066: for x in self.city_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_20 = __pyx_t_5; __Pyx_INCREF(__pyx_t_20); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_20 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_34 = Py_TYPE(__pyx_t_20)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1066, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_20))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_20, __pyx_t_32); __Pyx_INCREF(__pyx_t_5); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1066, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_20, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_20)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_20, __pyx_t_32); __Pyx_INCREF(__pyx_t_5); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1066, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_20, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_34(__pyx_t_20); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1066, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1067: x.reservoir_contract = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract, __pyx_t_5) < 0) __PYX_ERR(0, 1067, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1068: for res in self.reservoir_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_35 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1068, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_33); __Pyx_INCREF(__pyx_t_5); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1068, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_33); __Pyx_INCREF(__pyx_t_5); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1068, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_35(__pyx_t_6); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1068, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1069: use_reservoir = 0
__pyx_v_use_reservoir = 0;
+1070: for y in self.reservoir_contract[res.key]:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_18 = __pyx_t_7; __Pyx_INCREF(__pyx_t_18); __pyx_t_37 = 0; __pyx_t_38 = NULL; } else { __pyx_t_37 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_38 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_38)) __PYX_ERR(0, 1070, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_38)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_37 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_37); __Pyx_INCREF(__pyx_t_7); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1070, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_37 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_37); __Pyx_INCREF(__pyx_t_7); __pyx_t_37++; if (unlikely(0 < 0)) __PYX_ERR(0, 1070, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_37); __pyx_t_37++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_38(__pyx_t_18); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1070, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1071: for district_name in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_5 = __pyx_t_7; __Pyx_INCREF(__pyx_t_5); __pyx_t_39 = 0; __pyx_t_40 = NULL; } else { __pyx_t_39 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_40 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1071, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_40)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_39 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_39); __Pyx_INCREF(__pyx_t_7); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1071, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_39 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_39); __Pyx_INCREF(__pyx_t_7); __pyx_t_39++; if (unlikely(0 < 0)) __PYX_ERR(0, 1071, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_39); __pyx_t_39++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_40(__pyx_t_5); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1071, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_district_name, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1072: district = self.district_keys[district_name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_district_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1072, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_19); __pyx_t_19 = 0;
+1073: for yy in district.contract_list:
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (likely(PyList_CheckExact(__pyx_t_19)) || PyTuple_CheckExact(__pyx_t_19)) { __pyx_t_7 = __pyx_t_19; __Pyx_INCREF(__pyx_t_7); __pyx_t_41 = 0; __pyx_t_42 = NULL; } else { __pyx_t_41 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_42 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_42)) __PYX_ERR(0, 1073, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; for (;;) { if (likely(!__pyx_t_42)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_41 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_19 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_41); __Pyx_INCREF(__pyx_t_19); __pyx_t_41++; if (unlikely(0 < 0)) __PYX_ERR(0, 1073, __pyx_L1_error) #else __pyx_t_19 = PySequence_ITEM(__pyx_t_7, __pyx_t_41); __pyx_t_41++; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); #endif } else { if (__pyx_t_41 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_19 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_41); __Pyx_INCREF(__pyx_t_19); __pyx_t_41++; if (unlikely(0 < 0)) __PYX_ERR(0, 1073, __pyx_L1_error) #else __pyx_t_19 = PySequence_ITEM(__pyx_t_7, __pyx_t_41); __pyx_t_41++; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); #endif } } else { __pyx_t_19 = __pyx_t_42(__pyx_t_7); if (unlikely(!__pyx_t_19)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1073, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_19); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_19); __pyx_t_19 = 0; /* … */ } __pyx_L84_break:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1074: if y.name == yy:
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = PyObject_RichCompare(__pyx_t_19, __pyx_v_yy, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_36 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_36 < 0)) __PYX_ERR(0, 1074, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_36) { /* … */ }
+1075: use_reservoir = 1
__pyx_v_use_reservoir = 1;
+1076: break
goto __pyx_L84_break;
+1077: if use_reservoir == 1:
__pyx_t_36 = ((__pyx_v_use_reservoir == 1) != 0);
if (__pyx_t_36) {
/* … */
goto __pyx_L86;
}
+1078: x.reservoir_contract[res.key] = 1
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_5, __pyx_int_1) < 0)) __PYX_ERR(0, 1078, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1079: else:
+1080: x.reservoir_contract[res.key] = 0
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1080, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_18, __pyx_int_0) < 0)) __PYX_ERR(0, 1080, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
}
__pyx_L86:;
1081:
1082: ##Contract-Reservoir Relationships (contracts are dictionary key, reservoirs are list objects)
+1083: self.contract_reservoir = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir, __pyx_t_20) < 0) __PYX_ERR(0, 1083, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1084: self.contract_reservoir['FR1'] = self.millerton
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_FR1, __pyx_t_20) < 0)) __PYX_ERR(0, 1084, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1085: self.contract_reservoir['FR2'] = self.millerton
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1085, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_FR2, __pyx_t_20) < 0)) __PYX_ERR(0, 1085, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1086: self.contract_reservoir['KRR'] = self.isabella
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_KRR, __pyx_t_20) < 0)) __PYX_ERR(0, 1086, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1087: self.contract_reservoir['KGR'] = self.pineflat
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_KGR, __pyx_t_20) < 0)) __PYX_ERR(0, 1087, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1088: self.contract_reservoir['TRR'] = self.success
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_TRR, __pyx_t_20) < 0)) __PYX_ERR(0, 1088, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1089: self.contract_reservoir['WRR'] = self.kaweah
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_WRR, __pyx_t_20) < 0)) __PYX_ERR(0, 1089, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1090: self.contract_reservoir['SLS'] = self.sanluisstate
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_SLS, __pyx_t_20) < 0)) __PYX_ERR(0, 1090, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1091: self.contract_reservoir['SLF'] = self.sanluisfederal
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_SLF, __pyx_t_20) < 0)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1092: self.contract_reservoir['ECH'] = self.sanluisfederal
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_ECH, __pyx_t_20) < 0)) __PYX_ERR(0, 1092, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1093: self.contract_reservoir['CVC'] = self.sanluisfederal
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_CVC, __pyx_t_20) < 0)) __PYX_ERR(0, 1093, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1094:
1095: ##Canal-Contract Relationships (canals are dictionary key, contracts are list objects)
+1096: self.canal_contract = {}
__pyx_t_20 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract, __pyx_t_20) < 0) __PYX_ERR(0, 1096, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1097: self.canal_contract['fkc'] = [self.friant1, self.friant2]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = PyList_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_6); __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_fkc, __pyx_t_18) < 0)) __PYX_ERR(0, 1097, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1098: self.canal_contract['mdc'] = [self.friant1, self.friant2]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = PyList_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_20, 0, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_20, 1, __pyx_t_6); __pyx_t_18 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_mdc, __pyx_t_20) < 0)) __PYX_ERR(0, 1098, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+1099: self.canal_contract['caa'] = [self.swpdelta, self.cvpdelta, self.cvpexchange, self.crossvalley]
__pyx_t_20 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyList_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_20); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_20); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_t_5); __pyx_t_20 = 0; __pyx_t_6 = 0; __pyx_t_18 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_caa, __pyx_t_7) < 0)) __PYX_ERR(0, 1099, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1100: self.canal_contract['knr'] = [self.kernriver]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_knr, __pyx_t_5) < 0)) __PYX_ERR(0, 1100, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1101: self.canal_contract['tlr'] = [self.tuleriver]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriver); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_tlr, __pyx_t_7) < 0)) __PYX_ERR(0, 1101, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1102: self.canal_contract['kwr'] = [self.kaweahriver]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriver); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_kwr, __pyx_t_5) < 0)) __PYX_ERR(0, 1102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1103: self.canal_contract['kgr'] = [self.kingsriver]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriver); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_kgr, __pyx_t_7) < 0)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1104: self.canal_contract['xvc'] = []
__pyx_t_7 = PyList_New(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_xvc, __pyx_t_7) < 0)) __PYX_ERR(0, 1104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1105:
1106: ##Contracts-Canal Relationships (which canals can be physically reached with contracts)
+1107: self.contract_turnouts = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts, __pyx_t_7) < 0) __PYX_ERR(0, 1107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1108: self.contract_turnouts['friant1'] = ['fkc', 'mdc', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_fkc); __Pyx_GIVEREF(__pyx_n_u_fkc); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_fkc); __Pyx_INCREF(__pyx_n_u_mdc); __Pyx_GIVEREF(__pyx_n_u_mdc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_mdc); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 10, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_friant1, __pyx_t_7) < 0)) __PYX_ERR(0, 1108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1109: self.contract_turnouts['friant2'] = ['fkc', 'mdc', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_fkc); __Pyx_GIVEREF(__pyx_n_u_fkc); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_fkc); __Pyx_INCREF(__pyx_n_u_mdc); __Pyx_GIVEREF(__pyx_n_u_mdc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_mdc); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 10, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_friant2, __pyx_t_7) < 0)) __PYX_ERR(0, 1109, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1110: self.contract_turnouts['tableA'] = ['caa', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_caa); __Pyx_GIVEREF(__pyx_n_u_caa); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_caa); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_tableA, __pyx_t_7) < 0)) __PYX_ERR(0, 1110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1111: self.contract_turnouts['cvpdelta'] = ['caa', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_caa); __Pyx_GIVEREF(__pyx_n_u_caa); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_caa); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_cvpdelta, __pyx_t_7) < 0)) __PYX_ERR(0, 1111, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1112: self.contract_turnouts['exchange'] = ['caa', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_caa); __Pyx_GIVEREF(__pyx_n_u_caa); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_caa); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_exchange, __pyx_t_7) < 0)) __PYX_ERR(0, 1112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1113: self.contract_turnouts['cvc'] = ['caa', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_caa); __Pyx_GIVEREF(__pyx_n_u_caa); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_caa); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_cvc, __pyx_t_7) < 0)) __PYX_ERR(0, 1113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1114: self.contract_turnouts['kern'] = ['caa', 'xvc', 'kbc', 'aec', 'knr', 'knc', 'gsl', 'cwy', 'lrd', 'bly']
__pyx_t_7 = PyList_New(10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_caa); __Pyx_GIVEREF(__pyx_n_u_caa); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_caa); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_xvc); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_n_u_kbc); __Pyx_INCREF(__pyx_n_u_aec); __Pyx_GIVEREF(__pyx_n_u_aec); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_n_u_aec); __Pyx_INCREF(__pyx_n_u_knr); __Pyx_GIVEREF(__pyx_n_u_knr); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_n_u_knr); __Pyx_INCREF(__pyx_n_u_knc); __Pyx_GIVEREF(__pyx_n_u_knc); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_n_u_knc); __Pyx_INCREF(__pyx_n_u_gsl); __Pyx_GIVEREF(__pyx_n_u_gsl); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_n_u_gsl); __Pyx_INCREF(__pyx_n_u_cwy); __Pyx_GIVEREF(__pyx_n_u_cwy); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_n_u_cwy); __Pyx_INCREF(__pyx_n_u_lrd); __Pyx_GIVEREF(__pyx_n_u_lrd); PyList_SET_ITEM(__pyx_t_7, 8, __pyx_n_u_lrd); __Pyx_INCREF(__pyx_n_u_bly); __Pyx_GIVEREF(__pyx_n_u_bly); PyList_SET_ITEM(__pyx_t_7, 9, __pyx_n_u_bly); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_kern, __pyx_t_7) < 0)) __PYX_ERR(0, 1114, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1115: self.contract_turnouts['tule'] = ['kwr', 'fkc']
__pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_kwr); __Pyx_GIVEREF(__pyx_n_u_kwr); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_kwr); __Pyx_INCREF(__pyx_n_u_fkc); __Pyx_GIVEREF(__pyx_n_u_fkc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_fkc); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_tule, __pyx_t_7) < 0)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1116: self.contract_turnouts['kaweah'] = ['tlr', 'fkc']
__pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_tlr); __Pyx_GIVEREF(__pyx_n_u_tlr); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_tlr); __Pyx_INCREF(__pyx_n_u_fkc); __Pyx_GIVEREF(__pyx_n_u_fkc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_fkc); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_kaweah, __pyx_t_7) < 0)) __PYX_ERR(0, 1116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1117: self.contract_turnouts['kings'] = ['kgr', 'fkc']
__pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_n_u_kgr); __Pyx_GIVEREF(__pyx_n_u_kgr); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_u_kgr); __Pyx_INCREF(__pyx_n_u_fkc); __Pyx_GIVEREF(__pyx_n_u_fkc); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_n_u_fkc); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_kings, __pyx_t_7) < 0)) __PYX_ERR(0, 1117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1118:
1119:
1120: ##Reservoir-Canal Relationships (reservoirs are dictionary key, canals are list objects)
+1121: self.reservoir_canal = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal, __pyx_t_7) < 0) __PYX_ERR(0, 1121, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1122: self.reservoir_canal['SLS'] = [self.calaqueduct]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_SLS, __pyx_t_5) < 0)) __PYX_ERR(0, 1122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1123: self.reservoir_canal['SLF'] = [self.calaqueduct]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_SLF, __pyx_t_7) < 0)) __PYX_ERR(0, 1123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1124: self.reservoir_canal['SNL'] = [self.calaqueduct]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_SNL, __pyx_t_5) < 0)) __PYX_ERR(0, 1124, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1125: self.reservoir_canal['MIL'] = [self.fkc, self.madera]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_madera); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyList_New(2); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_18, 1, __pyx_t_7); __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_MIL, __pyx_t_18) < 0)) __PYX_ERR(0, 1125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1126: self.reservoir_canal['ISB'] = [self.kernriverchannel]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_ISB, __pyx_t_7) < 0)) __PYX_ERR(0, 1126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1127: self.reservoir_canal['SUC'] = [self.tuleriverchannel]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_tuleriverchannel); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyList_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_SUC, __pyx_t_18) < 0)) __PYX_ERR(0, 1127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1128: self.reservoir_canal['KWH'] = [self.kaweahriverchannel]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweahriverchannel); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_KWH, __pyx_t_7) < 0)) __PYX_ERR(0, 1128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1129: self.reservoir_canal['PFT'] = [self.kingsriverchannel]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kingsriverchannel); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyList_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_PFT, __pyx_t_18) < 0)) __PYX_ERR(0, 1129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
1130:
+1131: self.canal_reservoir = {}
__pyx_t_18 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_canal_reservoir, __pyx_t_18) < 0) __PYX_ERR(0, 1131, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1132: self.canal_reservoir['fkc'] = [self.millerton]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_reservoir); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_fkc, __pyx_t_7) < 0)) __PYX_ERR(0, 1132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1133: self.canal_reservoir['caa'] = [self.sanluisstate]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyList_New(1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_18, 0, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_reservoir); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_caa, __pyx_t_18) < 0)) __PYX_ERR(0, 1133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1134: self.canal_reservoir['knr'] = [self.isabella]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_reservoir); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_n_u_knr, __pyx_t_7) < 0)) __PYX_ERR(0, 1134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1135: for reservoir in self.reservoir_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_18 = __pyx_t_7; __Pyx_INCREF(__pyx_t_18); __pyx_t_32 = 0; __pyx_t_34 = NULL; } else { __pyx_t_32 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_34 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_34)) __PYX_ERR(0, 1135, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_34)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_32 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_7); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1135, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_32 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_7); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1135, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_34(__pyx_t_18); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1135, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1136: reservoir.total_capacity = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_reservoir, __pyx_n_s_total_capacity, __pyx_float_0_0) < 0) __PYX_ERR(0, 1136, __pyx_L1_error)
+1137: for canal_to_reservoir in self.reservoir_canal[reservoir.key]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_33 = 0; __pyx_t_35 = NULL; } else { __pyx_t_33 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_35 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_35)) __PYX_ERR(0, 1137, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_35)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_33 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_6); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1137, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_33 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_33); __Pyx_INCREF(__pyx_t_6); __pyx_t_33++; if (unlikely(0 < 0)) __PYX_ERR(0, 1137, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_33); __pyx_t_33++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_35(__pyx_t_5); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1137, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_canal_to_reservoir, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1138: reservoir.total_capacity += canal_to_reservoir.capacity['normal'][0]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_total_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal_to_reservoir, __pyx_n_s_capacity); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_normal); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_20, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_reservoir, __pyx_n_s_total_capacity, __pyx_t_20) < 0) __PYX_ERR(0, 1138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
1139:
+1140: self.pumping_turnback = {}
__pyx_t_18 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback, __pyx_t_18) < 0) __PYX_ERR(0, 1140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1141: self.allocation_losses = {}
__pyx_t_18 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses, __pyx_t_18) < 0) __PYX_ERR(0, 1141, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+1142: for z in ['SLS', 'SLF', 'MIL', 'ISB', 'SUC', 'KWH', 'PFT']:
__pyx_t_18 = __pyx_tuple__31; __Pyx_INCREF(__pyx_t_18); __pyx_t_32 = 0; for (;;) { if (__pyx_t_32 >= 7) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_32); __Pyx_INCREF(__pyx_t_5); __pyx_t_32++; if (unlikely(0 < 0)) __PYX_ERR(0, 1142, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_18, __pyx_t_32); __pyx_t_32++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; /* … */ __pyx_tuple__31 = PyTuple_Pack(7, __pyx_n_u_SLS, __pyx_n_u_SLF, __pyx_n_u_MIL, __pyx_n_u_ISB, __pyx_n_u_SUC, __pyx_n_u_KWH, __pyx_n_u_PFT); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 1142, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__31); __Pyx_GIVEREF(__pyx_tuple__31);
+1143: self.pumping_turnback[z] = 0.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_z, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1144: self.allocation_losses[z] = 0.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_z, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1145: ####################################################################################################################
1146: #####################################################################################################################
1147:
1148:
1149: #####################################################################################################################
1150: ############################# Pre processing functions #######################################################
1151: #####################################################################################################################
1152:
+1153: def set_sensitivity_factors(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_25set_sensitivity_factors(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_25set_sensitivity_factors = {"set_sensitivity_factors", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_25set_sensitivity_factors, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_25set_sensitivity_factors(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_sensitivity_factors (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_24set_sensitivity_factors(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_24set_sensitivity_factors(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_sensitivity_factor = NULL;
PyObject *__pyx_v_index = NULL;
PyObject *__pyx_8genexpr4__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__32)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_sensitivity_factors", 0);
__Pyx_TraceCall("set_sensitivity_factors", __pyx_f[0], 1153, 0, __PYX_ERR(0, 1153, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_sensitivity_factors", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_sensitivity_factor);
__Pyx_XDECREF(__pyx_v_index);
__Pyx_XDECREF(__pyx_8genexpr4__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__101 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_sensitivity_factor, __pyx_n_s_index, __pyx_n_s_x); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__101);
__Pyx_GIVEREF(__pyx_tuple__101);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_25set_sensitivity_factors, 0, __pyx_n_s_Model_set_sensitivity_factors, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_sensitivity_factors, __pyx_t_2) < 0) __PYX_ERR(0, 1153, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_sensitivity_factors, 1153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 1153, __pyx_L1_error)
+1154: for sensitivity_factor in self.sensitivity_factors['district_factor_list']:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_district_factor_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1154, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1154, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1154, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1154, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_sensitivity_factor, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1155: # set model sensitivity factors equal to sample values from input file
+1156: index = [x == sensitivity_factor for x in self.sensitivity_sample_names]
{ /* enter inner scope */
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_sample_names); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1156, __pyx_L7_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1156, __pyx_L7_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1156, __pyx_L7_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
} else {
__pyx_t_5 = __pyx_t_8(__pyx_t_6);
if (unlikely(!__pyx_t_5)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1156, __pyx_L7_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_5);
}
__Pyx_XDECREF_SET(__pyx_8genexpr4__pyx_v_x, __pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_5 = PyObject_RichCompare(__pyx_8genexpr4__pyx_v_x, __pyx_v_sensitivity_factor, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1156, __pyx_L7_error)
if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1156, __pyx_L7_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_8genexpr4__pyx_v_x); __pyx_8genexpr4__pyx_v_x = 0;
goto __pyx_L10_exit_scope;
__pyx_L7_error:;
__Pyx_XDECREF(__pyx_8genexpr4__pyx_v_x); __pyx_8genexpr4__pyx_v_x = 0;
goto __pyx_L1_error;
__pyx_L10_exit_scope:;
} /* exit inner scope */
__Pyx_XDECREF_SET(__pyx_v_index, __pyx_t_2);
__pyx_t_2 = 0;
+1157: index = np.where(index)[0][0]
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_where); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_index) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_index); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_index, __pyx_t_2); __pyx_t_2 = 0;
+1158: self.sensitivity_factors[sensitivity_factor]['realization'] = self.sensitivity_sample[index]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_sample); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_sensitivity_factor); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_realization, __pyx_t_5) < 0)) __PYX_ERR(0, 1158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1159:
+1160: def find_running_WYI(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_27find_running_WYI(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_27find_running_WYI = {"find_running_WYI", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_27find_running_WYI, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_27find_running_WYI(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_running_WYI (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_26find_running_WYI(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_26find_running_WYI(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_lastYearSRI = NULL;
PyObject *__pyx_v_lastYearSJI = NULL;
PyObject *__pyx_v_startMonth = NULL;
PyObject *__pyx_v_startYear = NULL;
PyObject *__pyx_v_rainflood_sac_obs = NULL;
PyObject *__pyx_v_snowflood_sac_obs = NULL;
PyObject *__pyx_v_rainflood_sj_obs = NULL;
PyObject *__pyx_v_snowflood_sj_obs = NULL;
CYTHON_UNUSED long __pyx_v_index_exceedence;
PyObject *__pyx_v_reservoir_list = NULL;
PyObject *__pyx_v_sac_list = NULL;
PyObject *__pyx_v_sj_list = NULL;
PyObject *__pyx_v_t = NULL;
PyObject *__pyx_v_year_index = NULL;
PyObject *__pyx_v_m = NULL;
PyObject *__pyx_v_da = NULL;
PyObject *__pyx_v_dowy = NULL;
long __pyx_v_index_exceedence_sac;
CYTHON_UNUSED long __pyx_v_index_exceedence_sj;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_res_rain_forecast = NULL;
PyObject *__pyx_v_sac_rain = NULL;
PyObject *__pyx_v_res_snow_forecast = NULL;
PyObject *__pyx_v_sac_snow = NULL;
PyObject *__pyx_v_sj_rain = NULL;
PyObject *__pyx_v_sj_snow = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__33)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_running_WYI", 0);
__Pyx_TraceCall("find_running_WYI", __pyx_f[0], 1160, 0, __PYX_ERR(0, 1160, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_running_WYI", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_lastYearSRI);
__Pyx_XDECREF(__pyx_v_lastYearSJI);
__Pyx_XDECREF(__pyx_v_startMonth);
__Pyx_XDECREF(__pyx_v_startYear);
__Pyx_XDECREF(__pyx_v_rainflood_sac_obs);
__Pyx_XDECREF(__pyx_v_snowflood_sac_obs);
__Pyx_XDECREF(__pyx_v_rainflood_sj_obs);
__Pyx_XDECREF(__pyx_v_snowflood_sj_obs);
__Pyx_XDECREF(__pyx_v_reservoir_list);
__Pyx_XDECREF(__pyx_v_sac_list);
__Pyx_XDECREF(__pyx_v_sj_list);
__Pyx_XDECREF(__pyx_v_t);
__Pyx_XDECREF(__pyx_v_year_index);
__Pyx_XDECREF(__pyx_v_m);
__Pyx_XDECREF(__pyx_v_da);
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_res_rain_forecast);
__Pyx_XDECREF(__pyx_v_sac_rain);
__Pyx_XDECREF(__pyx_v_res_snow_forecast);
__Pyx_XDECREF(__pyx_v_sac_snow);
__Pyx_XDECREF(__pyx_v_sj_rain);
__Pyx_XDECREF(__pyx_v_sj_snow);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__102 = PyTuple_Pack(27, __pyx_n_s_self, __pyx_n_s_lastYearSRI, __pyx_n_s_lastYearSJI, __pyx_n_s_startMonth, __pyx_n_s_startYear, __pyx_n_s_rainflood_sac_obs, __pyx_n_s_snowflood_sac_obs, __pyx_n_s_rainflood_sj_obs, __pyx_n_s_snowflood_sj_obs, __pyx_n_s_index_exceedence, __pyx_n_s_reservoir_list, __pyx_n_s_sac_list, __pyx_n_s_sj_list, __pyx_n_s_t, __pyx_n_s_year_index, __pyx_n_s_m, __pyx_n_s_da, __pyx_n_s_dowy, __pyx_n_s_index_exceedence_sac, __pyx_n_s_index_exceedence_sj, __pyx_n_s_x, __pyx_n_s_res_rain_forecast, __pyx_n_s_sac_rain, __pyx_n_s_res_snow_forecast, __pyx_n_s_sac_snow, __pyx_n_s_sj_rain, __pyx_n_s_sj_snow); if (unlikely(!__pyx_tuple__102)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__102);
__Pyx_GIVEREF(__pyx_tuple__102);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_27find_running_WYI, 0, __pyx_n_s_Model_find_running_WYI, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_running_WYI, __pyx_t_2) < 0) __PYX_ERR(0, 1160, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(1, 0, 27, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__102, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_running_WYI, 1160, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 1160, __pyx_L1_error)
1161: ###Pre-processing function
1162: ##Finds the 8 River, Sacramento, and San Joaquin indicies based on flow projections
+1163: lastYearSRI = 10.26 # WY 1996
__Pyx_INCREF(__pyx_float_10_26);
__pyx_v_lastYearSRI = __pyx_float_10_26;
+1164: lastYearSJI = 4.12 # WY 1996
__Pyx_INCREF(__pyx_float_4_12);
__pyx_v_lastYearSJI = __pyx_float_4_12;
+1165: startMonth = self.index.month[0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_startMonth = __pyx_t_1; __pyx_t_1 = 0;
+1166: startYear = self.starting_year
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_startYear = __pyx_t_1; __pyx_t_1 = 0;
+1167: rainflood_sac_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_rainflood_sac_obs = __pyx_float_0_0;
+1168: snowflood_sac_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_snowflood_sac_obs = __pyx_float_0_0;
+1169: rainflood_sj_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_rainflood_sj_obs = __pyx_float_0_0;
+1170: snowflood_sj_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_snowflood_sj_obs = __pyx_float_0_0;
+1171: index_exceedence = 2
__pyx_v_index_exceedence = 2;
+1172: reservoir_list = [self.shasta, self.folsom, self.oroville, self.yuba, self.newmelones, self.donpedro, self.exchequer, self.millerton]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyList_New(8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_9, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_9, 4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_9, 5, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_9, 6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 7, __pyx_t_8); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_v_reservoir_list = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0;
+1173: sac_list = [self.shasta, self.folsom, self.oroville, self.yuba]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = PyList_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_5, 3, __pyx_t_6); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_v_sac_list = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+1174: sj_list = [self.newmelones, self.donpedro, self.exchequer, self.millerton]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyList_New(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_9, 3, __pyx_t_8); __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_v_sj_list = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0;
+1175: for t in range(0,self.T):
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_8 = __pyx_t_9; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1175, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1175, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1175, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1175, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1176: year_index = self.year[t] - startYear
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_t_7, __pyx_v_startYear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_year_index, __pyx_t_9); __pyx_t_9 = 0;
+1177: m = self.month[t]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_month); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_7); __pyx_t_7 = 0;
+1178: da = self.day_month[t]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_da, __pyx_t_9); __pyx_t_9 = 0;
+1179: dowy = self.dowy[t]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_7); __pyx_t_7 = 0;
+1180: index_exceedence_sac = 9
__pyx_v_index_exceedence_sac = 9;
+1181: index_exceedence_sj = 5
__pyx_v_index_exceedence_sj = 5;
1182: ##8 River Index
+1183: for x in reservoir_list:
__pyx_t_7 = __pyx_v_reservoir_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1183, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1184: self.delta.eri[m-startMonth + year_index*12] + x.fnf[t]*1000
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_eri); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_v_m, __pyx_v_startMonth); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = PyNumber_Multiply(__pyx_v_year_index, __pyx_int_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_6, __pyx_int_1000); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1185: ####################Sacramento Index#############################################################################################
1186: ##Individual Rainflood Forecast - either the 90% exceedence level prediction, or the observed WYTD fnf value
+1187: if m >=10:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1187, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1187, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_13) { /* … */ goto __pyx_L7; }
+1188: self.delta.forecastSJI[t] = lastYearSJI
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_t, __pyx_v_lastYearSJI) < 0)) __PYX_ERR(0, 1188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1189: self.delta.forecastSRI[t] = lastYearSRI
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_t, __pyx_v_lastYearSRI) < 0)) __PYX_ERR(0, 1189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1190: else:
+1191: res_rain_forecast = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_res_rain_forecast, __pyx_float_0_0);
+1192: for x in sac_list:
__pyx_t_7 = __pyx_v_sac_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1192, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1193: res_rain_forecast += x.rainflood_fnf[t] + x.rainfnf_stds[dowy]*z_table_transform[index_exceedence_sac]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rainflood_fnf); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rainfnf_stds); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_dowy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_z_table_transform); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_6, __pyx_v_index_exceedence_sac, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_4, __pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_res_rain_forecast, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_res_rain_forecast, __pyx_t_6); __pyx_t_6 = 0;
1194: ##SAC TOTAL RAIN
+1195: if m >= 4 and m < 10:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_4, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1195, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L11_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1195, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L11_bool_binop_done:; if (__pyx_t_13) { /* … */ goto __pyx_L10; }
+1196: sac_rain = rainflood_sac_obs
__Pyx_INCREF(__pyx_v_rainflood_sac_obs); __Pyx_XDECREF_SET(__pyx_v_sac_rain, __pyx_v_rainflood_sac_obs);
1197: else:
+1198: sac_rain = max(rainflood_sac_obs, res_rain_forecast)
/*else*/ {
__Pyx_INCREF(__pyx_v_res_rain_forecast);
__pyx_t_7 = __pyx_v_res_rain_forecast;
__Pyx_INCREF(__pyx_v_rainflood_sac_obs);
__pyx_t_6 = __pyx_v_rainflood_sac_obs;
__pyx_t_4 = PyObject_RichCompare(__pyx_t_7, __pyx_t_6, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1198, __pyx_L1_error)
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1198, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_13) {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_9 = __pyx_t_7;
} else {
__Pyx_INCREF(__pyx_t_6);
__pyx_t_9 = __pyx_t_6;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_9;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_XDECREF_SET(__pyx_v_sac_rain, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L10:;
1199: ##Individual Snowflood Forecast - either the 90% exceedence level prediction, or the observed WYTD fnf value
+1200: res_snow_forecast = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_res_snow_forecast, __pyx_float_0_0);
+1201: for x in sac_list:
__pyx_t_7 = __pyx_v_sac_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1201, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1202: res_snow_forecast += x.snowflood_fnf[t] + x.snowfnf_stds[dowy]*z_table_transform[index_exceedence_sac]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_snowfnf_stds); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_z_table_transform); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_9, __pyx_v_index_exceedence_sac, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_v_res_snow_forecast, __pyx_t_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_res_snow_forecast, __pyx_t_9); __pyx_t_9 = 0;
1203: ##SAC TOTAL SNOW
+1204: if m >= 8 and m < 10:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_8, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1204, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L16_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1204, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1204, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L16_bool_binop_done:; if (__pyx_t_13) { /* … */ goto __pyx_L15; }
+1205: sac_snow = snowflood_sac_obs
__Pyx_INCREF(__pyx_v_snowflood_sac_obs); __Pyx_XDECREF_SET(__pyx_v_sac_snow, __pyx_v_snowflood_sac_obs);
1206: else:
+1207: sac_snow = max(snowflood_sac_obs, res_snow_forecast)
/*else*/ {
__Pyx_INCREF(__pyx_v_res_snow_forecast);
__pyx_t_7 = __pyx_v_res_snow_forecast;
__Pyx_INCREF(__pyx_v_snowflood_sac_obs);
__pyx_t_9 = __pyx_v_snowflood_sac_obs;
__pyx_t_6 = PyObject_RichCompare(__pyx_t_7, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1207, __pyx_L1_error)
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_13) {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_5 = __pyx_t_7;
} else {
__Pyx_INCREF(__pyx_t_9);
__pyx_t_5 = __pyx_t_9;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_5;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF_SET(__pyx_v_sac_snow, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L15:;
1208: #######################################################################################################################################
1209: #####################San Joaquin Index################################################################################################
1210: ##Individual Rainflood Forecast - either the 90% exceedence level prediction, or the observed WYTD fnf value
+1211: res_rain_forecast = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_res_rain_forecast, __pyx_float_0_0);
+1212: for x in sj_list:
__pyx_t_7 = __pyx_v_sj_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_5); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1212, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1213: res_rain_forecast += x.rainflood_fnf[t] + x.rainfnf_stds[dowy]*z_table_transform[index_exceedence_sac]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rainflood_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rainfnf_stds); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_z_table_transform); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, __pyx_v_index_exceedence_sac, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_res_rain_forecast, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_res_rain_forecast, __pyx_t_5); __pyx_t_5 = 0;
1214: ##SJ TOTAL RAIN
+1215: if m >= 4 and m < 10:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_4, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1215, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1215, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L21_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1215, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1215, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L21_bool_binop_done:; if (__pyx_t_13) { /* … */ goto __pyx_L20; }
+1216: sj_rain = rainflood_sj_obs
__Pyx_INCREF(__pyx_v_rainflood_sj_obs); __Pyx_XDECREF_SET(__pyx_v_sj_rain, __pyx_v_rainflood_sj_obs);
1217: else:
+1218: sj_rain = max(rainflood_sj_obs, res_rain_forecast)
/*else*/ {
__Pyx_INCREF(__pyx_v_res_rain_forecast);
__pyx_t_7 = __pyx_v_res_rain_forecast;
__Pyx_INCREF(__pyx_v_rainflood_sj_obs);
__pyx_t_5 = __pyx_v_rainflood_sj_obs;
__pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1218, __pyx_L1_error)
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1218, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_13) {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_4 = __pyx_t_7;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_4 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_sj_rain, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L20:;
1219: ##Individual Snowflood Forecast - either the 90% exceedence level prediction, or the observed WYTD fnf value
+1220: res_snow_forecast = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_res_snow_forecast, __pyx_float_0_0);
+1221: for x in sj_list:
__pyx_t_7 = __pyx_v_sj_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1221, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1222: res_snow_forecast += x.snowflood_fnf[t] + x.snowfnf_stds[dowy]*z_table_transform[index_exceedence_sac]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_snowfnf_stds); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_z_table_transform); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, __pyx_v_index_exceedence_sac, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_res_snow_forecast, __pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_res_snow_forecast, __pyx_t_4); __pyx_t_4 = 0;
1223: ##SAC TOTAL SNOW
+1224: if m >= 8 and m < 10:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_8, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1224, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L26_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1224, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L26_bool_binop_done:; if (__pyx_t_13) { /* … */ goto __pyx_L25; }
+1225: sj_snow = snowflood_sj_obs
__Pyx_INCREF(__pyx_v_snowflood_sj_obs); __Pyx_XDECREF_SET(__pyx_v_sj_snow, __pyx_v_snowflood_sj_obs);
1226: else:
+1227: sj_snow = max(snowflood_sj_obs, res_snow_forecast)
/*else*/ {
__Pyx_INCREF(__pyx_v_res_snow_forecast);
__pyx_t_7 = __pyx_v_res_snow_forecast;
__Pyx_INCREF(__pyx_v_snowflood_sj_obs);
__pyx_t_4 = __pyx_v_snowflood_sj_obs;
__pyx_t_5 = PyObject_RichCompare(__pyx_t_7, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1227, __pyx_L1_error)
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1227, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_13) {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_6 = __pyx_t_7;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_6 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_6;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF_SET(__pyx_v_sj_snow, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L25:;
1228:
1229: ###INDEX FORECASTS########################################################################################################################
+1230: self.delta.forecastSJI[t] = min(lastYearSJI,4.5)*0.2 + sj_rain*0.2 + sj_snow*0.6
__pyx_t_15 = 4.5;
__Pyx_INCREF(__pyx_v_lastYearSJI);
__pyx_t_7 = __pyx_v_lastYearSJI;
__pyx_t_4 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_13) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_6 = __pyx_t_7;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_float_0_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyNumber_Multiply(__pyx_v_sj_rain, __pyx_float_0_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyNumber_Multiply(__pyx_v_sj_snow, __pyx_float_0_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_t, __pyx_t_7) < 0)) __PYX_ERR(0, 1230, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1231: self.delta.forecastSRI[t] = min(lastYearSRI,10)*0.3 + sac_rain*0.3 + sac_snow*0.4
__pyx_t_16 = 10;
__Pyx_INCREF(__pyx_v_lastYearSRI);
__pyx_t_7 = __pyx_v_lastYearSRI;
__pyx_t_6 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_4 = PyObject_RichCompare(__pyx_t_6, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_13) {
__pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __pyx_t_4;
__pyx_t_4 = 0;
} else {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_5 = __pyx_t_7;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Multiply(__pyx_t_5, __pyx_float_0_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_v_sac_rain, __pyx_float_0_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = PyNumber_Add(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_v_sac_snow, __pyx_float_0_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_t, __pyx_t_7) < 0)) __PYX_ERR(0, 1231, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_L7:;
1232:
1233: ##REAL-TIME OBSERVATIONS
+1234: if m >= 10 or m <= 3:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1234, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L29_bool_binop_done; } __pyx_t_7 = PyObject_RichCompare(__pyx_v_m, __pyx_int_3, Py_LE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1234, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L29_bool_binop_done:; if (__pyx_t_13) { /* … */ goto __pyx_L28; }
+1235: rainflood_sac_obs += self.shasta.fnf[t] + self.oroville.fnf[t] + self.folsom.fnf[t] + self.yuba.fnf[t]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_rainflood_sac_obs, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_rainflood_sac_obs, __pyx_t_4); __pyx_t_4 = 0;
+1236: rainflood_sj_obs += self.newmelones.fnf[t] + self.donpedro.fnf[t] + self.exchequer.fnf[t] + self.millerton.fnf[t]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_rainflood_sj_obs, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_rainflood_sj_obs, __pyx_t_5); __pyx_t_5 = 0;
+1237: elif m < 8:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_m, __pyx_int_8, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error) __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_13) { /* … */ } __pyx_L28:;
+1238: snowflood_sac_obs += self.shasta.fnf[t] + self.oroville.fnf[t] + self.folsom.fnf[t] + self.yuba.fnf[t]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_snowflood_sac_obs, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_snowflood_sac_obs, __pyx_t_7); __pyx_t_7 = 0;
+1239: snowflood_sj_obs += self.newmelones.fnf[t] + self.donpedro.fnf[t] + self.exchequer.fnf[t] + self.millerton.fnf[t]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_snowflood_sj_obs, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_snowflood_sj_obs, __pyx_t_4); __pyx_t_4 = 0;
1240:
1241: ##SAVE INDEX FROM EACH YEAR (FOR USE IN NEXT YEAR'S FORECAST
+1242: if m == 9 and da == 30:
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_9, 9, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_14) { } else { __pyx_t_13 = __pyx_t_14; goto __pyx_L32_bool_binop_done; } __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_30, 30, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_13 = __pyx_t_14; __pyx_L32_bool_binop_done:; if (__pyx_t_13) { /* … */ }
+1243: lastYearSRI = 0.3*min(lastYearSRI,10) + 0.3*rainflood_sac_obs + 0.4*snowflood_sac_obs
__pyx_t_16 = 10;
__Pyx_INCREF(__pyx_v_lastYearSRI);
__pyx_t_4 = __pyx_v_lastYearSRI;
__pyx_t_7 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = PyObject_RichCompare(__pyx_t_7, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_13) {
__pyx_t_6 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = __pyx_t_6;
__pyx_t_6 = 0;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_5 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Multiply(__pyx_float_0_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_float_0_3, __pyx_v_rainflood_sac_obs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_float_0_4, __pyx_v_snowflood_sac_obs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_lastYearSRI, __pyx_t_4);
__pyx_t_4 = 0;
+1244: lastYearSJI = 0.2*min(lastYearSJI,4.5) + 0.2*rainflood_sj_obs + 0.6*snowflood_sj_obs
__pyx_t_15 = 4.5;
__Pyx_INCREF(__pyx_v_lastYearSJI);
__pyx_t_4 = __pyx_v_lastYearSJI;
__pyx_t_6 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (__pyx_t_13) {
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = __pyx_t_7;
__pyx_t_7 = 0;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_5 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Multiply(__pyx_float_0_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_float_0_2, __pyx_v_rainflood_sj_obs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Multiply(__pyx_float_0_6, __pyx_v_snowflood_sj_obs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = PyNumber_Add(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_lastYearSJI, __pyx_t_4);
__pyx_t_4 = 0;
+1245: rainflood_sac_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_rainflood_sac_obs, __pyx_float_0_0);
+1246: snowflood_sac_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_snowflood_sac_obs, __pyx_float_0_0);
+1247: rainflood_sj_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_rainflood_sj_obs, __pyx_float_0_0);
+1248: snowflood_sj_obs = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_snowflood_sj_obs, __pyx_float_0_0);
1249: # df_wyi = pd.DataFrame()
1250: # df_wyi['SRI'] = pd.Series(self.delta.forecastSRI, index = self.index)
1251: # df_wyi['SJI'] = pd.Series(self.delta.forecastSJI, index = self.index)
1252: # df_wyi.to_csv(self.results_folder + '/water_year_index_simulation.csv')
1253:
+1254: def predict_delta_gains(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_29predict_delta_gains(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_29predict_delta_gains = {"predict_delta_gains", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_29predict_delta_gains, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_29predict_delta_gains(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("predict_delta_gains (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_28predict_delta_gains(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_28predict_delta_gains(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_gains_sac_short = NULL;
PyObject *__pyx_v_gains_sj_short = NULL;
PyObject *__pyx_v_eastside_streams_short = NULL;
PyObject *__pyx_v_depletions_short = NULL;
PyObject *__pyx_v_sac_list = NULL;
PyObject *__pyx_v_reservoir = NULL;
PyObject *__pyx_v_numYears_short = NULL;
PyObject *__pyx_v_monthly_gains = NULL;
CYTHON_UNUSED PyObject *__pyx_v_startYear = NULL;
CYTHON_UNUSED double __pyx_v_prev_gains;
PyObject *__pyx_v_prev_fnf = NULL;
PyObject *__pyx_v_t = NULL;
PyObject *__pyx_v_da = NULL;
PyObject *__pyx_v_m = NULL;
PyObject *__pyx_v_dowy = NULL;
PyObject *__pyx_v_wateryear = NULL;
PyObject *__pyx_v_this_day_fnf = NULL;
PyObject *__pyx_v_fnf_off = NULL;
PyObject *__pyx_v_this_day_gains = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_min_release = NULL;
PyObject *__pyx_v_gauge_min = NULL;
PyObject *__pyx_v_volume_constraint = NULL;
PyObject *__pyx_v_flow_ratio_constraint = NULL;
PyObject *__pyx_v_state_pumping = NULL;
PyObject *__pyx_v_fed_pumping = NULL;
PyObject *__pyx_v_pumping_constraint = NULL;
long __pyx_v_mm;
PyObject *__pyx_v_one_year_runfnf = NULL;
PyObject *__pyx_v_monthly_gains_predict = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_coef = NULL;
PyObject *__pyx_8genexpr5__pyx_v__ = NULL;
PyObject *__pyx_8genexpr6__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__34)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("predict_delta_gains", 0);
__Pyx_TraceCall("predict_delta_gains", __pyx_f[0], 1254, 0, __PYX_ERR(0, 1254, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.predict_delta_gains", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_gains_sac_short);
__Pyx_XDECREF(__pyx_v_gains_sj_short);
__Pyx_XDECREF(__pyx_v_eastside_streams_short);
__Pyx_XDECREF(__pyx_v_depletions_short);
__Pyx_XDECREF(__pyx_v_sac_list);
__Pyx_XDECREF(__pyx_v_reservoir);
__Pyx_XDECREF(__pyx_v_numYears_short);
__Pyx_XDECREF(__pyx_v_monthly_gains);
__Pyx_XDECREF(__pyx_v_startYear);
__Pyx_XDECREF(__pyx_v_prev_fnf);
__Pyx_XDECREF(__pyx_v_t);
__Pyx_XDECREF(__pyx_v_da);
__Pyx_XDECREF(__pyx_v_m);
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_wateryear);
__Pyx_XDECREF(__pyx_v_this_day_fnf);
__Pyx_XDECREF(__pyx_v_fnf_off);
__Pyx_XDECREF(__pyx_v_this_day_gains);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_min_release);
__Pyx_XDECREF(__pyx_v_gauge_min);
__Pyx_XDECREF(__pyx_v_volume_constraint);
__Pyx_XDECREF(__pyx_v_flow_ratio_constraint);
__Pyx_XDECREF(__pyx_v_state_pumping);
__Pyx_XDECREF(__pyx_v_fed_pumping);
__Pyx_XDECREF(__pyx_v_pumping_constraint);
__Pyx_XDECREF(__pyx_v_one_year_runfnf);
__Pyx_XDECREF(__pyx_v_monthly_gains_predict);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_coef);
__Pyx_XDECREF(__pyx_8genexpr5__pyx_v__);
__Pyx_XDECREF(__pyx_8genexpr6__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__103 = PyTuple_Pack(35, __pyx_n_s_self, __pyx_n_s_gains_sac_short, __pyx_n_s_gains_sj_short, __pyx_n_s_eastside_streams_short, __pyx_n_s_depletions_short, __pyx_n_s_sac_list, __pyx_n_s_reservoir, __pyx_n_s_numYears_short, __pyx_n_s_monthly_gains, __pyx_n_s_startYear, __pyx_n_s_prev_gains, __pyx_n_s_prev_fnf, __pyx_n_s_t, __pyx_n_s_da, __pyx_n_s_m, __pyx_n_s_dowy, __pyx_n_s_wateryear, __pyx_n_s_this_day_fnf, __pyx_n_s_fnf_off, __pyx_n_s_this_day_gains, __pyx_n_s_x, __pyx_n_s_min_release, __pyx_n_s_gauge_min, __pyx_n_s_volume_constraint, __pyx_n_s_flow_ratio_constraint, __pyx_n_s_state_pumping, __pyx_n_s_fed_pumping, __pyx_n_s_pumping_constraint, __pyx_n_s_mm, __pyx_n_s_one_year_runfnf, __pyx_n_s_monthly_gains_predict, __pyx_n_s_yy, __pyx_n_s_coef, __pyx_n_s__12, __pyx_n_s__12); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 1254, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__103);
__Pyx_GIVEREF(__pyx_tuple__103);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_29predict_delta_gains, 0, __pyx_n_s_Model_predict_delta_gains, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1254, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_predict_delta_gains, __pyx_t_2) < 0) __PYX_ERR(0, 1254, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 35, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_predict_delta_gains, 1254, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 1254, __pyx_L1_error)
1255: ##this function uses a regression to find expected 'unstored' flows coming to the
1256: ##delta, to better project flow into San Luis
+1257: gains_sac_short = self.df_short.SAC_gains * cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_SAC_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_gains_sac_short = __pyx_t_3; __pyx_t_3 = 0;
+1258: gains_sj_short = self.df_short.SJ_gains * cfs_tafd
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_SJ_gains); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_gains_sj_short = __pyx_t_2; __pyx_t_2 = 0;
+1259: eastside_streams_short = self.df_short.EAST_gains * cfs_tafd
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_EAST_gains); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_eastside_streams_short = __pyx_t_1; __pyx_t_1 = 0;
+1260: depletions_short = self.df_short.delta_depletions * cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_delta_depletions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_depletions_short = __pyx_t_3; __pyx_t_3 = 0;
1261:
+1262: sac_list = [self.shasta, self.folsom, self.oroville, self.yuba]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyList_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_5, 3, __pyx_t_4); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_v_sac_list = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+1263: for reservoir in sac_list:
__pyx_t_5 = __pyx_v_sac_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1263, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1264: reservoir.fnf_short = [_ / 1000000.0 for _ in self.df_short['%s_fnf'% reservoir.key].values]
{ /* enter inner scope */
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_s_fnf, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
__pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1264, __pyx_L7_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1264, __pyx_L7_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1264, __pyx_L7_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
} else {
__pyx_t_3 = __pyx_t_8(__pyx_t_1);
if (unlikely(!__pyx_t_3)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1264, __pyx_L7_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_3);
}
__Pyx_XDECREF_SET(__pyx_8genexpr5__pyx_v__, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyFloat_TrueDivideObjC(__pyx_8genexpr5__pyx_v__, __pyx_float_1000000_0, 1000000.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_GOTREF(__pyx_t_3);
if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_3))) __PYX_ERR(0, 1264, __pyx_L7_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_8genexpr5__pyx_v__); __pyx_8genexpr5__pyx_v__ = 0;
goto __pyx_L10_exit_scope;
__pyx_L7_error:;
__Pyx_XDECREF(__pyx_8genexpr5__pyx_v__); __pyx_8genexpr5__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L10_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_reservoir, __pyx_n_s_fnf_short, __pyx_t_4) < 0) __PYX_ERR(0, 1264, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1265: reservoir.downstream_short = [_ * cfs_tafd for _ in self.df_short['%s_gains'% reservoir.key].values]
{ /* enter inner scope */
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_df_short); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_s_gains, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1265, __pyx_L13_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1265, __pyx_L13_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1265, __pyx_L13_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
} else {
__pyx_t_2 = __pyx_t_8(__pyx_t_3);
if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1265, __pyx_L13_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_2);
}
__Pyx_XDECREF_SET(__pyx_8genexpr6__pyx_v__, __pyx_t_2);
__pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyNumber_Multiply(__pyx_8genexpr6__pyx_v__, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_1))) __PYX_ERR(0, 1265, __pyx_L13_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_8genexpr6__pyx_v__); __pyx_8genexpr6__pyx_v__ = 0;
goto __pyx_L16_exit_scope;
__pyx_L13_error:;
__Pyx_XDECREF(__pyx_8genexpr6__pyx_v__); __pyx_8genexpr6__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L16_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_reservoir, __pyx_n_s_downstream_short, __pyx_t_4) < 0) __PYX_ERR(0, 1265, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1266:
1267: ##########################################################################################
1268: #Initialize gains matricies
1269: ##Unstored flow will be regressed against total FNF expected in that year
+1270: numYears_short = self.short_number_years
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_number_years); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_numYears_short = __pyx_t_5; __pyx_t_5 = 0;
+1271: self.running_fnf = np.zeros((365,numYears_short))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_365); __Pyx_INCREF(__pyx_v_numYears_short); __Pyx_GIVEREF(__pyx_v_numYears_short); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_numYears_short); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_running_fnf, __pyx_t_5) < 0) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1272: ##Total gains in each month
+1273: monthly_gains = np.zeros((12,numYears_short))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_12); __Pyx_GIVEREF(__pyx_int_12); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_12); __Pyx_INCREF(__pyx_v_numYears_short); __Pyx_GIVEREF(__pyx_v_numYears_short); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_numYears_short); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_monthly_gains = __pyx_t_5; __pyx_t_5 = 0;
+1274: startYear = self.short_starting_year
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_startYear = __pyx_t_5; __pyx_t_5 = 0;
1275: ##########################################################################################
1276: ##########################################################################################
1277: #Read flow from historical recalfews_src
1278: ##########################################################################################
+1279: prev_gains = 0.0
__pyx_v_prev_gains = 0.0;
+1280: prev_fnf = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_prev_fnf = __pyx_float_0_0;
+1281: for t in range(0,self.T_short):
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T_short); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1281, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1281, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1281, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1282: ##Get date information
+1283: da = self.short_day_month[t]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_day_month); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_da, __pyx_t_3); __pyx_t_3 = 0;
+1284: m = self.short_month[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_5); __pyx_t_5 = 0;
+1285: dowy = self.short_dowy[t]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_dowy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_3); __pyx_t_3 = 0;
+1286: wateryear = self.short_water_year[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_short_water_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_5); __pyx_t_5 = 0;
1287:
1288: #Calculate the total daily unstored gains to the delta
+1289: this_day_fnf = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_this_day_fnf, __pyx_float_0_0);
+1290: fnf_off = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_fnf_off, __pyx_float_0_0);
+1291: this_day_gains = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_this_day_gains, __pyx_float_0_0);
+1292: for x in sac_list:
__pyx_t_5 = __pyx_v_sac_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; for (;;) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1292, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1293: this_day_fnf += x.fnf_short[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_fnf_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_this_day_fnf, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_this_day_fnf, __pyx_t_3); __pyx_t_3 = 0;
+1294: min_release = x.env_min_flow[self.delta.forecastSCWYT][m-1]*cfs_tafd
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_env_min_flow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_min_release, __pyx_t_1); __pyx_t_1 = 0;
+1295: gauge_min = x.temp_releases[self.delta.forecastSCWYT][m-1]*cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_temp_releases); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_gauge_min, __pyx_t_2); __pyx_t_2 = 0;
+1296: this_day_gains += max(max(x.downstream_short[t] + min_release, 0.0), gauge_min)
__Pyx_INCREF(__pyx_v_gauge_min); __pyx_t_2 = __pyx_v_gauge_min; __pyx_t_9 = 0.0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_downstream_short); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_min_release); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyObject_RichCompare(__pyx_t_10, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_12) { __pyx_t_11 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __pyx_t_11; __pyx_t_11 = 0; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1296, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_12) { __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_this_day_gains, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_this_day_gains, __pyx_t_2); __pyx_t_2 = 0;
+1297: if t >= 30:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_int_30, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1297, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_12) { /* … */ }
+1298: fnf_off += x.fnf_short[t-30]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_fnf_short); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_fnf_off, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_fnf_off, __pyx_t_1); __pyx_t_1 = 0;
1299:
+1300: this_day_gains += gains_sac_short[t]
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_gains_sac_short, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_this_day_gains, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_this_day_gains, __pyx_t_1); __pyx_t_1 = 0;
+1301: this_day_gains += gains_sj_short[t]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_gains_sj_short, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_this_day_gains, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_this_day_gains, __pyx_t_5); __pyx_t_5 = 0;
+1302: this_day_gains += eastside_streams_short[t]
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_eastside_streams_short, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_this_day_gains, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_this_day_gains, __pyx_t_1); __pyx_t_1 = 0;
1303:
+1304: prev_fnf += this_day_fnf
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_prev_fnf, __pyx_v_this_day_fnf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_prev_fnf, __pyx_t_1); __pyx_t_1 = 0;
+1305: prev_fnf -= fnf_off
__pyx_t_1 = PyNumber_InPlaceSubtract(__pyx_v_prev_fnf, __pyx_v_fnf_off); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_prev_fnf, __pyx_t_1); __pyx_t_1 = 0;
+1306: if t < 30:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_t, __pyx_int_30, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1306, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1306, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { /* … */ goto __pyx_L22; }
+1307: self.running_fnf[dowy][wateryear] = min(prev_fnf*30.0/(t+1), 4.0)
__pyx_t_9 = 4.0;
__pyx_t_1 = PyNumber_Multiply(__pyx_v_prev_fnf, __pyx_float_30_0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_12) {
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __pyx_t_2;
__pyx_t_2 = 0;
} else {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_5 = __pyx_t_3;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_5;
__Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_running_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_wateryear, __pyx_t_3) < 0)) __PYX_ERR(0, 1307, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1308: else:
+1309: self.running_fnf[dowy][wateryear] = min(prev_fnf, 4.0)
/*else*/ {
__pyx_t_9 = 4.0;
__Pyx_INCREF(__pyx_v_prev_fnf);
__pyx_t_3 = __pyx_v_prev_fnf;
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_12) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_2;
__Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_running_fnf); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_wateryear, __pyx_t_3) < 0)) __PYX_ERR(0, 1309, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_L22:;
1310:
1311: ##Calculate the max daily 'unstored pumping'
1312: #'unstored pumping' is the minimum of three constraints on the 'gains' flows
+1313: volume_constraint = this_day_gains - self.delta.min_outflow[self.delta.forecastSCWYT][m-1]*cfs_tafd + depletions_short[t]#extra gains after delta outflow requirements
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_this_day_gains, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_depletions_short, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_volume_constraint, __pyx_t_1); __pyx_t_1 = 0;
+1314: flow_ratio_constraint = this_day_gains*self.delta.export_ratio[self.delta.forecastSCWYT][m-1]#portion of gains that can be exported
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_export_ratio); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_v_this_day_gains, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_flow_ratio_constraint, __pyx_t_2); __pyx_t_2 = 0;
+1315: state_pumping = np.interp(da, self.delta.pump_max['swp']['d'], self.delta.pump_max['swp']['intake_limit'])#max state pumping
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_interp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_swp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_d); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_swp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_da, __pyx_t_5, __pyx_t_11}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_da, __pyx_t_5, __pyx_t_11}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } else #endif { __pyx_t_10 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_13, __pyx_v_da); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_13, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_13, __pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_state_pumping, __pyx_t_2); __pyx_t_2 = 0;
+1316: fed_pumping = np.interp(da, self.delta.pump_max['cvp']['d'], self.delta.pump_max['cvp']['intake_limit'])#max fed pumping
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_interp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_cvp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_d); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_cvp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_da, __pyx_t_11, __pyx_t_5}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_da, __pyx_t_11, __pyx_t_5}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_3 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_13, __pyx_v_da); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_13, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_13, __pyx_t_5); __pyx_t_11 = 0; __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_fed_pumping, __pyx_t_2); __pyx_t_2 = 0;
+1317: pumping_constraint = (state_pumping + fed_pumping) * cfs_tafd#max pumping
__pyx_t_2 = PyNumber_Add(__pyx_v_state_pumping, __pyx_v_fed_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_pumping_constraint, __pyx_t_3); __pyx_t_3 = 0;
1318:
1319: ##Monthly
+1320: monthly_gains[m-1][wateryear] += max(min(volume_constraint,flow_ratio_constraint, pumping_constraint), 0.0)
__pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_monthly_gains, __pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_3 = __pyx_v_wateryear; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = 0.0; __Pyx_INCREF(__pyx_v_flow_ratio_constraint); __pyx_t_5 = __pyx_v_flow_ratio_constraint; __Pyx_INCREF(__pyx_v_pumping_constraint); __pyx_t_11 = __pyx_v_pumping_constraint; __Pyx_INCREF(__pyx_v_volume_constraint); __pyx_t_1 = __pyx_v_volume_constraint; __pyx_t_15 = PyObject_RichCompare(__pyx_t_5, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1320, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_12) { __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = __pyx_t_5; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_14 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_14); __pyx_t_1 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_15 = PyObject_RichCompare(__pyx_t_11, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1320, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_12) { __Pyx_INCREF(__pyx_t_11); __pyx_t_14 = __pyx_t_11; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_14 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_14); __pyx_t_5 = __pyx_t_14; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_11 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = PyObject_RichCompare(__pyx_t_11, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_12) { __pyx_t_1 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = __pyx_t_1; __pyx_t_1 = 0; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_t_3, __pyx_t_5) < 0)) __PYX_ERR(0, 1320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1321: ##########################################################################################
1322: ##########################################################################################
1323: #Perform linear regression - FNF used for running prediction of total 'unstored' flow to delta in oct-mar; apr-jul period
1324: ##########################################################################################
+1325: self.delta_gains_regression = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression, __pyx_t_4) < 0) __PYX_ERR(0, 1325, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1326: self.delta_gains_regression['slope'] = np.zeros((365,12))
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_10, __pyx_tuple__35) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_tuple__35); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_slope, __pyx_t_4) < 0)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; /* … */ __pyx_tuple__35 = PyTuple_Pack(2, __pyx_int_365, __pyx_int_12); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 1326, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__35); __Pyx_GIVEREF(__pyx_tuple__35);
+1327: self.delta_gains_regression['intercept'] = np.zeros((365,12))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_3, __pyx_tuple__35) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_tuple__35); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_n_u_intercept, __pyx_t_4) < 0)) __PYX_ERR(0, 1327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1328:
+1329: for x in range(0,365):
for (__pyx_t_16 = 0; __pyx_t_16 < 0x16D; __pyx_t_16+=1) {
__pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1329, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
__pyx_t_4 = 0;
1330: #fig = plt.figure()
1331: #coef_save = np.zeros((12,2))
1332: #regress for gains in oct-mar period and april-jul period
+1333: for mm in range(0,12):
for (__pyx_t_17 = 0; __pyx_t_17 < 12; __pyx_t_17+=1) {
__pyx_v_mm = __pyx_t_17;
+1334: if x <= self.dowy_eom[self.non_leap_year][mm]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_mm, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_v_x, __pyx_t_10, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 1334, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_12) { /* … */ goto __pyx_L27; }
+1335: one_year_runfnf = self.running_fnf[x]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_running_fnf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_one_year_runfnf, __pyx_t_10); __pyx_t_10 = 0;
+1336: monthly_gains_predict = monthly_gains[mm]
__pyx_t_10 = __Pyx_GetItemInt(__pyx_v_monthly_gains, __pyx_v_mm, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_XDECREF_SET(__pyx_v_monthly_gains_predict, __pyx_t_10); __pyx_t_10 = 0;
1337: else:
+1338: monthly_gains_predict = np.zeros(numYears_short-1)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_numYears_short, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_monthly_gains_predict, __pyx_t_10);
__pyx_t_10 = 0;
+1339: one_year_runfnf = np.zeros(numYears_short-1)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_numYears_short, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_10 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_one_year_runfnf, __pyx_t_10); __pyx_t_10 = 0;
+1340: for yy in range(1,numYears_short):
__pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_int_1); __Pyx_INCREF(__pyx_v_numYears_short); __Pyx_GIVEREF(__pyx_v_numYears_short); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_v_numYears_short); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_10 = __pyx_t_3; __Pyx_INCREF(__pyx_t_10); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1340, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1340, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_10, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1340, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_10, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_10); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1340, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __pyx_L27:;
+1341: monthly_gains_predict[yy-1] = monthly_gains[mm][yy]
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_monthly_gains, __pyx_v_mm, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_yy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_yy, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_v_monthly_gains_predict, __pyx_t_3, __pyx_t_4) < 0)) __PYX_ERR(0, 1341, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1342: one_year_runfnf[yy-1] = self.running_fnf[x][yy-1]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_running_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_yy, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_yy, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_v_one_year_runfnf, __pyx_t_4, __pyx_t_5) < 0)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1343:
1344:
+1345: coef = np.polyfit(one_year_runfnf, monthly_gains_predict, 1)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_one_year_runfnf, __pyx_v_monthly_gains_predict, __pyx_int_1}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_one_year_runfnf, __pyx_v_monthly_gains_predict, __pyx_int_1}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_3 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_one_year_runfnf); __Pyx_GIVEREF(__pyx_v_one_year_runfnf); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_13, __pyx_v_one_year_runfnf); __Pyx_INCREF(__pyx_v_monthly_gains_predict); __Pyx_GIVEREF(__pyx_v_monthly_gains_predict); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_13, __pyx_v_monthly_gains_predict); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_13, __pyx_int_1); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_10); __pyx_t_10 = 0;
+1346: self.delta_gains_regression['slope'][x][mm] = coef[0]
__pyx_t_10 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_slope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_4, __pyx_v_mm, __pyx_t_10, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1347: self.delta_gains_regression['intercept'][x][mm] = coef[1]
__pyx_t_10 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_intercept); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_4, __pyx_v_mm, __pyx_t_10, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 1347, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } }
1348: #r = np.corrcoef(one_year_runfnf,monthly_gains_predict)[0,1]
1349: #coef_save[mm] = coef
1350: #for mm in range(0,12):
1351: #ax1 = fig.add_subplot(4,3,mm+1)
1352: #if x <= self.dowy_eom[mm]:
1353: #monthly_gains_predict = monthly_gains[mm]
1354: #one_year_runfnf = self.running_fnf[x]
1355: #else:
1356: #monthly_gains_predict = np.zeros(numYears_short-1)
1357: #one_year_runfnf = np.zeros(numYears_short-1)
1358: #for yy in range(1,numYears_short):
1359: #monthly_gains_predict[yy-1] = monthly_gains[mm][yy]
1360: #one_year_runfnf[yy-1] = self.running_fnf[x][yy-1]
1361:
1362: #ax1.scatter(one_year_runfnf, monthly_gains_predict, s=50, c='red', edgecolor='none', alpha=0.7)
1363: #ax1.plot([0.0, np.max(one_year_runfnf)], [coef_save[mm][1], (np.max(one_year_runfnf)*coef_save[mm][0] + coef_save[mm][1])],c='red')
1364: #ax1.set_xlim([np.min(one_year_runfnf), np.max(one_year_runfnf)])
1365: #plt.show()
1366: #plt.close()
1367:
1368:
+1369: def find_all_triggers(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_31find_all_triggers(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_31find_all_triggers = {"find_all_triggers", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_31find_all_triggers, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_31find_all_triggers(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_all_triggers (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_30find_all_triggers(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_30find_all_triggers(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_a = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_z = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__36)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_all_triggers", 0);
__Pyx_TraceCall("find_all_triggers", __pyx_f[0], 1369, 0, __PYX_ERR(0, 1369, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_all_triggers", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_a);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__104 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_a, __pyx_n_s_x, __pyx_n_s_z); if (unlikely(!__pyx_tuple__104)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__104);
__Pyx_GIVEREF(__pyx_tuple__104);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_31find_all_triggers, 0, __pyx_n_s_Model_find_all_triggers, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_all_triggers, __pyx_t_2) < 0) __PYX_ERR(0, 1369, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__104, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_all_triggers, 1369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 1369, __pyx_L1_error)
1370: #########################################################################################
1371: #this function searches through canals to find the maximum amount of
1372: #water that can be taken from each reservoir at one time.
1373: #########################################################################################
1374:
1375: #The value self.reservoir.flood_flow_min is used to determine when uncontrolled releases
1376: #are initiated at the reservoir
+1377: for a in [self.isabella, self.millerton, self.kaweah, self.success, self.pineflat]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (__pyx_t_7 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1377, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1378: #for each reservoir, clear the demands of each object
+1379: for x in self.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_4 = __pyx_t_6; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1379, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1379, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1379, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1379, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1380: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1380, __pyx_L1_error)
+1381: for x in self.waterbank_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_6 = __pyx_t_4; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1381, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1381, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1381, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1381, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1382: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1382, __pyx_L1_error)
+1383: a.flood_flow_min = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_a, __pyx_n_s_flood_flow_min, __pyx_float_0_0) < 0) __PYX_ERR(0, 1383, __pyx_L1_error)
+1384: for z in self.reservoir_canal[a.key]:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1384, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1384, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1384, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1384, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1385: #find all demands that can be reached from the reservoir
+1386: a.flood_flow_min += self.find_flood_trigger(z, a.key, z.name, 'normal','recharge')
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_flood_flow_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_flood_trigger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[6] = {__pyx_t_11, __pyx_v_z, __pyx_t_1, __pyx_t_10, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[6] = {__pyx_t_11, __pyx_v_z, __pyx_t_1, __pyx_t_10, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_13 = PyTuple_New(5+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_12, __pyx_n_u_normal); __Pyx_INCREF(__pyx_n_u_recharge); __Pyx_GIVEREF(__pyx_n_u_recharge); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_12, __pyx_n_u_recharge); __pyx_t_1 = 0; __pyx_t_10 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_a, __pyx_n_s_flood_flow_min, __pyx_t_2) < 0) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1387:
1388: #also calculate for san luis - but split federal and state portions (uncontrolled releases are made seperately)
1389: #only want the demands that are associated w/ nodes that have a contract
+1390: self.canal_contract['caa'] = [self.swpdelta]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_caa, __pyx_t_4) < 0)) __PYX_ERR(0, 1390, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1391: for x in self.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_9 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1391, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1391, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1391, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_9(__pyx_t_5); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1391, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1392: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1392, __pyx_L1_error)
+1393: for x in self.waterbank_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; __pyx_t_9 = NULL; } else { __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1393, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1393, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1393, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1393, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1394: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1394, __pyx_L1_error)
+1395: self.sanluisstate.flood_flow_min = self.find_flood_trigger(self.calaqueduct, self.sanluis.key, self.calaqueduct.name, 'normal', 'recharge')
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_flood_trigger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_2, __pyx_t_3, __pyx_t_13, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_2, __pyx_t_3, __pyx_t_13, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif { __pyx_t_10 = PyTuple_New(5+__pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_12, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_12, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_12, __pyx_n_u_normal); __Pyx_INCREF(__pyx_n_u_recharge); __Pyx_GIVEREF(__pyx_n_u_recharge); PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_12, __pyx_n_u_recharge); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_13 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_flood_flow_min, __pyx_t_4) < 0) __PYX_ERR(0, 1395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1396: #same thing for the federal portion
+1397: self.canal_contract['caa'] = [self.cvpdelta, self.cvpexchange, self.crossvalley]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = PyList_New(3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_13, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_13, 2, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_n_u_caa, __pyx_t_13) < 0)) __PYX_ERR(0, 1397, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+1398: for x in self.district_list:
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) { __pyx_t_10 = __pyx_t_13; __Pyx_INCREF(__pyx_t_10); __pyx_t_7 = 0; __pyx_t_9 = NULL; } else { __pyx_t_7 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1398, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_7); __Pyx_INCREF(__pyx_t_13); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1398, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_10, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_7); __Pyx_INCREF(__pyx_t_13); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1398, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_10, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } } else { __pyx_t_13 = __pyx_t_9(__pyx_t_10); if (unlikely(!__pyx_t_13)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1398, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_13); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1399: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1399, __pyx_L1_error)
+1400: for x in self.waterbank_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1400, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_13 = __pyx_t_10; __Pyx_INCREF(__pyx_t_13); __pyx_t_7 = 0; __pyx_t_9 = NULL; } else { __pyx_t_7 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1400, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1400, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_13))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_7); __Pyx_INCREF(__pyx_t_10); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1400, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_13, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1400, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_7); __Pyx_INCREF(__pyx_t_10); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1400, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_13, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1400, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_9(__pyx_t_13); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1400, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+1401: x.current_requested = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_float_0_0) < 0) __PYX_ERR(0, 1401, __pyx_L1_error)
+1402: self.sanluisfederal.flood_flow_min = self.find_flood_trigger(self.calaqueduct, self.sanluis.key, self.calaqueduct.name, 'normal', 'recharge')
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_flood_trigger); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_t_4, __pyx_t_3, __pyx_t_2, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_t_4, __pyx_t_3, __pyx_t_2, __pyx_n_u_normal, __pyx_n_u_recharge}; __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_12, 5+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_6 = PyTuple_New(5+__pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_12, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_12, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_12, __pyx_t_2); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_12, __pyx_n_u_normal); __Pyx_INCREF(__pyx_n_u_recharge); __Pyx_GIVEREF(__pyx_n_u_recharge); PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_12, __pyx_n_u_recharge); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_6, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__Pyx_PyObject_SetAttrStr(__pyx_t_10, __pyx_n_s_flood_flow_min, __pyx_t_13) < 0) __PYX_ERR(0, 1402, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1403: #return the contract association on the california aqeuduct to all CVP & SWP delta contracts
+1404: self.canal_contract['caa'] = [self.swpdelta, self.cvpdelta, self.cvpexchange, self.crossvalley]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_13); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_t_2); __pyx_t_10 = 0; __pyx_t_13 = 0; __pyx_t_6 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_caa, __pyx_t_3) < 0)) __PYX_ERR(0, 1404, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1405:
+1406: def find_flood_trigger(self, canal, prev_canal, contract_canal, flow_dir,flow_type):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_33find_flood_trigger(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_33find_flood_trigger = {"find_flood_trigger", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_33find_flood_trigger, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_33find_flood_trigger(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_prev_canal = 0;
PyObject *__pyx_v_contract_canal = 0;
PyObject *__pyx_v_flow_dir = 0;
PyObject *__pyx_v_flow_type = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_flood_trigger (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_canal,&__pyx_n_s_prev_canal,&__pyx_n_s_contract_canal,&__pyx_n_s_flow_dir,&__pyx_n_s_flow_type,0};
PyObject* values[6] = {0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, 1); __PYX_ERR(0, 1406, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_prev_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, 2); __PYX_ERR(0, 1406, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, 3); __PYX_ERR(0, 1406, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_dir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, 4); __PYX_ERR(0, 1406, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, 5); __PYX_ERR(0, 1406, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_flood_trigger") < 0)) __PYX_ERR(0, 1406, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
}
__pyx_v_self = values[0];
__pyx_v_canal = values[1];
__pyx_v_prev_canal = values[2];
__pyx_v_contract_canal = values[3];
__pyx_v_flow_dir = values[4];
__pyx_v_flow_type = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_flood_trigger", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1406, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_flood_trigger", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_32find_flood_trigger(__pyx_self, __pyx_v_self, __pyx_v_canal, __pyx_v_prev_canal, __pyx_v_contract_canal, __pyx_v_flow_dir, __pyx_v_flow_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_32find_flood_trigger(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_canal, PyObject *__pyx_v_prev_canal, PyObject *__pyx_v_contract_canal, PyObject *__pyx_v_flow_dir, PyObject *__pyx_v_flow_type) {
PyObject *__pyx_v_starting_point = NULL;
PyObject *__pyx_v_new_canal = NULL;
PyObject *__pyx_v_canal_size = NULL;
PyObject *__pyx_v_canal_range = NULL;
PyObject *__pyx_v_tot_contractor_demand = NULL;
PyObject *__pyx_v_canal_loc = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_new_loc_demand = NULL;
long __pyx_v_contractor_toggle;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_yx = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_new_flow_dir = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__37)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_flood_trigger", 0);
__Pyx_TraceCall("find_flood_trigger", __pyx_f[0], 1406, 0, __PYX_ERR(0, 1406, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_flood_trigger", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_starting_point);
__Pyx_XDECREF(__pyx_v_new_canal);
__Pyx_XDECREF(__pyx_v_canal_size);
__Pyx_XDECREF(__pyx_v_canal_range);
__Pyx_XDECREF(__pyx_v_tot_contractor_demand);
__Pyx_XDECREF(__pyx_v_canal_loc);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_new_loc_demand);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_yx);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_new_flow_dir);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__105 = PyTuple_Pack(20, __pyx_n_s_self, __pyx_n_s_canal, __pyx_n_s_prev_canal, __pyx_n_s_contract_canal, __pyx_n_s_flow_dir, __pyx_n_s_flow_type, __pyx_n_s_starting_point, __pyx_n_s_new_canal, __pyx_n_s_canal_size, __pyx_n_s_canal_range, __pyx_n_s_tot_contractor_demand, __pyx_n_s_canal_loc, __pyx_n_s_x, __pyx_n_s_new_loc_demand, __pyx_n_s_contractor_toggle, __pyx_n_s_y, __pyx_n_s_yx, __pyx_n_s_xx, __pyx_n_s_wb_member, __pyx_n_s_new_flow_dir); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 1406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__105);
__Pyx_GIVEREF(__pyx_tuple__105);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_33find_flood_trigger, 0, __pyx_n_s_Model_find_flood_trigger, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_flood_trigger, __pyx_t_2) < 0) __PYX_ERR(0, 1406, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(6, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_flood_trigger, 1406, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 1406, __pyx_L1_error)
1407: #########################################################################################
1408: #this function loops through the canal nodes looking for recharge storage attached
1409: #to particular contracts.
1410: #########################################################################################
1411:
1412: #finds where on the canal to begin (if coming from another canal), and
1413: #where to end (either the end or beginning of canal, depending on flow direction)
+1414: for starting_point, new_canal in enumerate(self.canal_district[canal.name]):
__Pyx_INCREF(__pyx_int_0); __pyx_t_1 = __pyx_int_0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1414, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1414, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1414, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_6(__pyx_t_3); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1414, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_new_canal, __pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_starting_point, __pyx_t_1); __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_4; __pyx_t_4 = 0; /* … */ } __pyx_L4_break:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1415: if new_canal.key == prev_canal:#find canal intersections
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_v_prev_canal, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { /* … */ }
+1416: break
goto __pyx_L4_break;
+1417: if flow_dir == "normal":
__pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1417, __pyx_L1_error) if (__pyx_t_7) { /* … */ goto __pyx_L6; }
+1418: canal_size = self.canal_district_len[canal.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_canal_size = __pyx_t_2; __pyx_t_2 = 0;
+1419: canal_range = range((starting_point+1),canal_size)
if (unlikely(!__pyx_v_starting_point)) { __Pyx_RaiseUnboundLocalError("starting_point"); __PYX_ERR(0, 1419, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_starting_point, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1419, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1419, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_canal_size);
__Pyx_GIVEREF(__pyx_v_canal_size);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_canal_size);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1419, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_canal_range = __pyx_t_2;
__pyx_t_2 = 0;
+1420: elif flow_dir == "reverse":
__pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1420, __pyx_L1_error) if (__pyx_t_7) { /* … */ goto __pyx_L6; }
+1421: canal_range = range((starting_point-1),0,-1)
if (unlikely(!__pyx_v_starting_point)) { __Pyx_RaiseUnboundLocalError("starting_point"); __PYX_ERR(0, 1421, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_starting_point, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0);
__Pyx_INCREF(__pyx_int_neg_1);
__Pyx_GIVEREF(__pyx_int_neg_1);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_neg_1);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1421, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_canal_range = __pyx_t_2;
__pyx_t_2 = 0;
1422: else:
+1423: return (0.0)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_float_0_0);
__pyx_r = __pyx_float_0_0;
goto __pyx_L0;
}
__pyx_L6:;
1424:
+1425: tot_contractor_demand = 0.0#initialize total demand on the canal
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_tot_contractor_demand = __pyx_float_0_0;
+1426: for canal_loc in canal_range:#loop through the flow range on the canal (determined above)
if (likely(PyList_CheckExact(__pyx_v_canal_range)) || PyTuple_CheckExact(__pyx_v_canal_range)) { __pyx_t_2 = __pyx_v_canal_range; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_canal_range); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1426, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1426, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1426, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_6(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1426, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_canal_loc, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1427: x = self.canal_district[canal.name][canal_loc]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_canal_loc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0;
+1428: if x.is_District == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_District); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1428, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L9; }
+1429: new_loc_demand = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_new_loc_demand, __pyx_float_0_0);
+1430: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
1431: #find if the node has a particular contract
+1432: for y in self.canal_contract[contract_canal]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_contract_canal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1432, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1432, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1432, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1432, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1433: for yx in x.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1433, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1433, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1433, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_11(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1433, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_yx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1434: if y.name == yx:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyObject_RichCompare(__pyx_t_1, __pyx_v_yx, Py_EQ); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1434, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1434, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ }
+1435: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
1436: #calculate teh maximium recharge storage
+1437: if contractor_toggle == 1:
__pyx_t_7 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_7) {
/* … */
}
+1438: new_loc_demand = min(canal.turnout[flow_dir][canal_loc]*cfs_tafd, max(x.in_district_storage - x.current_requested, 0.0))
__pyx_t_13 = 0.0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_district_storage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_current_requested); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_12 = PyNumber_Subtract(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_t_12, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_7) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_12);
__pyx_t_3 = __pyx_t_12;
}
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_INCREF(__pyx_t_3);
__pyx_t_12 = __pyx_t_3;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_flow_dir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_canal_loc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = PyObject_RichCompare(__pyx_t_12, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1438, __pyx_L1_error)
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1438, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_7) {
__Pyx_INCREF(__pyx_t_12);
__pyx_t_1 = __pyx_t_12;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_1 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_12);
__pyx_t_12 = 0;
+1439: tot_contractor_demand += new_loc_demand
__pyx_t_12 = PyNumber_InPlaceAdd(__pyx_v_tot_contractor_demand, __pyx_v_new_loc_demand); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF_SET(__pyx_v_tot_contractor_demand, __pyx_t_12); __pyx_t_12 = 0;
+1440: x.current_requested += new_loc_demand
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_current_requested); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_12, __pyx_v_new_loc_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_t_1) < 0) __PYX_ERR(0, 1440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1441:
+1442: elif x.is_Waterbank == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_Waterbank); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L9; }
+1443: new_loc_demand = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_new_loc_demand, __pyx_float_0_0);
1444: #at a waterbank, find if the bank member has a contract
+1445: for xx in x.participant_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_1 = __pyx_t_12; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1445, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_12); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1445, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_12); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1445, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1445, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1446: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
+1447: for wb_member in self.district_keys[xx]:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1447, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1447, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1447, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_11(__pyx_t_12); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1447, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __pyx_L19_break:; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1448: for y in self.canal_contract[contract_canal]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_contract_canal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1448, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 1448, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_14); __Pyx_INCREF(__pyx_t_3); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 1448, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_15(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1448, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __pyx_L21_break:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1449: for yx in wb_member.contract_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_16 = __pyx_t_3; __Pyx_INCREF(__pyx_t_16); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_18 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1449, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_16))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_17); __Pyx_INCREF(__pyx_t_3); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1449, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_16, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_17); __Pyx_INCREF(__pyx_t_3); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1449, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_16, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_18(__pyx_t_16); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1449, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_yx, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __pyx_L23_break:; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+1450: if y.name == yx:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_19 = PyObject_RichCompare(__pyx_t_3, __pyx_v_yx, Py_EQ); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1450, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_7) { /* … */ }
+1451: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
+1452: break
goto __pyx_L23_break;
+1453: if contractor_toggle == 1:
__pyx_t_7 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_7) {
/* … */
}
+1454: break
goto __pyx_L21_break;
+1455: if contractor_toggle == 1:
__pyx_t_7 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_7) {
/* … */
}
+1456: break
goto __pyx_L19_break;
+1457: if contractor_toggle == 1:
__pyx_t_7 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_7) {
/* … */
}
+1458: new_loc_demand += max(x.tot_storage*x.ownership[xx],0.0)#only account for member-owned storage
__pyx_t_13 = 0.0;
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_tot_storage); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_ownership); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Multiply(__pyx_t_12, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_t_12 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_19 = PyObject_RichCompare(__pyx_t_12, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
if (__pyx_t_7) {
__pyx_t_19 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_t_16 = __pyx_t_19;
__pyx_t_19 = 0;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_16 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_new_loc_demand, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_4);
__pyx_t_4 = 0;
+1459: new_loc_demand -= x.current_requested
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_current_requested); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyNumber_InPlaceSubtract(__pyx_v_new_loc_demand, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_4); __pyx_t_4 = 0;
1460: #make sure storage doesn't exceed the turnout capacity
+1461: if new_loc_demand > canal.turnout[flow_dir][canal_loc]*cfs_tafd:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_flow_dir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_canal_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = PyNumber_Multiply(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_v_new_loc_demand, __pyx_t_16, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { /* … */ }
+1462: new_loc_demand = canal.turnout[flow_dir][canal_loc]*cfs_tafd
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_flow_dir); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_canal_loc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_4); __pyx_t_4 = 0;
+1463: x.current_requested += new_loc_demand
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_current_requested); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_v_new_loc_demand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_current_requested, __pyx_t_16) < 0) __PYX_ERR(0, 1463, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+1464: tot_contractor_demand += new_loc_demand
__pyx_t_16 = PyNumber_InPlaceAdd(__pyx_v_tot_contractor_demand, __pyx_v_new_loc_demand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF_SET(__pyx_v_tot_contractor_demand, __pyx_t_16); __pyx_t_16 = 0;
1465:
1466: #if a node is a canal node, jump to that canal (function calls itself, but for another canal)
+1467: elif x.is_Canal == 1:
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_Canal); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_16, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1467, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_7) { /* … */ } __pyx_L9:;
+1468: new_loc_demand = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_new_loc_demand, __pyx_float_0_0);
+1469: if canal.turnout[flow_dir][canal_loc] > 0.0:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_flow_dir); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_canal_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyObject_RichCompare(__pyx_t_4, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_7) { /* … */ }
+1470: new_flow_dir = canal.flow_directions[flow_type][x.name]
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_flow_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_name); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_16); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF_SET(__pyx_v_new_flow_dir, __pyx_t_1); __pyx_t_1 = 0;
+1471: new_loc_demand = self.find_flood_trigger(x, canal.key, contract_canal, new_flow_dir,flow_type)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_flood_trigger); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_19 = NULL; __pyx_t_20 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_20 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[6] = {__pyx_t_19, __pyx_v_x, __pyx_t_4, __pyx_v_contract_canal, __pyx_v_new_flow_dir, __pyx_v_flow_type}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_20, 5+__pyx_t_20); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[6] = {__pyx_t_19, __pyx_v_x, __pyx_t_4, __pyx_v_contract_canal, __pyx_v_new_flow_dir, __pyx_v_flow_type}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_20, 5+__pyx_t_20); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_12 = PyTuple_New(5+__pyx_t_20); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_20, __pyx_v_x); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_20, __pyx_t_4); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_20, __pyx_v_contract_canal); __Pyx_INCREF(__pyx_v_new_flow_dir); __Pyx_GIVEREF(__pyx_v_new_flow_dir); PyTuple_SET_ITEM(__pyx_t_12, 3+__pyx_t_20, __pyx_v_new_flow_dir); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_12, 4+__pyx_t_20, __pyx_v_flow_type); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_1); __pyx_t_1 = 0;
+1472: if new_loc_demand > canal.turnout[flow_dir][canal_loc]*cfs_tafd:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_flow_dir); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_canal_loc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = PyNumber_Multiply(__pyx_t_1, __pyx_t_16); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyObject_RichCompare(__pyx_v_new_loc_demand, __pyx_t_12, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 1472, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_7) { /* … */ }
+1473: new_loc_demand = canal.turnout[flow_dir][canal_loc]*cfs_tafd
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_flow_dir); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_canal_loc); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = PyNumber_Multiply(__pyx_t_16, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF_SET(__pyx_v_new_loc_demand, __pyx_t_1); __pyx_t_1 = 0;
+1474: tot_contractor_demand += new_loc_demand
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_contractor_demand, __pyx_v_new_loc_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_tot_contractor_demand, __pyx_t_1); __pyx_t_1 = 0;
1475: #return total demand on the canal
+1476: return tot_contractor_demand
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_tot_contractor_demand); __pyx_r = __pyx_v_tot_contractor_demand; goto __pyx_L0;
1477:
1478:
+1479: def find_initial_carryover(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_35find_initial_carryover(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_35find_initial_carryover = {"find_initial_carryover", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_35find_initial_carryover, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_35find_initial_carryover(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_initial_carryover (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_34find_initial_carryover(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_34find_initial_carryover(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *__pyx_v_tot_state = NULL;
CYTHON_UNUSED PyObject *__pyx_v_tot_federal = NULL;
CYTHON_UNUSED PyObject *__pyx_v_total_alloc_state = NULL;
CYTHON_UNUSED PyObject *__pyx_v_total_alloc_federal = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_reservoir = NULL;
PyObject *__pyx_v_this_reservoir_all_contract = NULL;
PyObject *__pyx_v_priority_allocation = NULL;
PyObject *__pyx_v_secondary_allocation = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__38)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_initial_carryover", 0);
__Pyx_TraceCall("find_initial_carryover", __pyx_f[0], 1479, 0, __PYX_ERR(0, 1479, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_initial_carryover", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_tot_state);
__Pyx_XDECREF(__pyx_v_tot_federal);
__Pyx_XDECREF(__pyx_v_total_alloc_state);
__Pyx_XDECREF(__pyx_v_total_alloc_federal);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_reservoir);
__Pyx_XDECREF(__pyx_v_this_reservoir_all_contract);
__Pyx_XDECREF(__pyx_v_priority_allocation);
__Pyx_XDECREF(__pyx_v_secondary_allocation);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__106 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_tot_state, __pyx_n_s_tot_federal, __pyx_n_s_total_alloc_state, __pyx_n_s_total_alloc_federal, __pyx_n_s_y, __pyx_n_s_reservoir, __pyx_n_s_this_reservoir_all_contract, __pyx_n_s_priority_allocation, __pyx_n_s_secondary_allocation, __pyx_n_s_yy, __pyx_n_s_x); if (unlikely(!__pyx_tuple__106)) __PYX_ERR(0, 1479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__106);
__Pyx_GIVEREF(__pyx_tuple__106);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_35find_initial_carryover, 0, __pyx_n_s_Model_find_initial_carryover, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_initial_carryover, __pyx_t_2) < 0) __PYX_ERR(0, 1479, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_initial_carryover, 1479, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 1479, __pyx_L1_error)
1480: #########################################################################################
1481: #takes the storage that exists at the start of the simulation and applies it either to
1482: #carryover storage or to the next year's (first year of simulation) allocation
1483: #########################################################################################
1484:
+1485: tot_state = self.sanluisstate.S[0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_tot_state = __pyx_t_1; __pyx_t_1 = 0;
+1486: tot_federal = self.sanluisfederal.S[0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_tot_federal = __pyx_t_1; __pyx_t_1 = 0;
+1487: total_alloc_state = self.swpdelta.total
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_total_alloc_state = __pyx_t_2; __pyx_t_2 = 0;
+1488: total_alloc_federal = self.cvpdelta.total + self.cvpexchange.total
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_total); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_total); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_total_alloc_federal = __pyx_t_2; __pyx_t_2 = 0;
+1489: for y in self.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1489, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1489, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1489, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1490: reservoir = self.contract_reservoir[y.key]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_6); __pyx_t_6 = 0;
1491: #then find all the contracts associated with that reservoir
+1492: this_reservoir_all_contract = self.reservoir_contract[reservoir.key]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_this_reservoir_all_contract, __pyx_t_2); __pyx_t_2 = 0;
1493: #need to find the total deliveries already made from the reservoir,
1494: #total carryover storage at the reservoir, and the total priority/secondary allocations
1495: #at that reservoir
+1496: priority_allocation = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_allocation, __pyx_float_0_0);
+1497: secondary_allocation = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_secondary_allocation, __pyx_float_0_0);
+1498: for yy in this_reservoir_all_contract:
if (likely(PyList_CheckExact(__pyx_v_this_reservoir_all_contract)) || PyTuple_CheckExact(__pyx_v_this_reservoir_all_contract)) { __pyx_t_2 = __pyx_v_this_reservoir_all_contract; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_this_reservoir_all_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1498, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1498, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1498, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_8(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1498, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1499: if yy.allocation_priority == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L7; }
+1500: priority_allocation += yy.total
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_total); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_priority_allocation, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_priority_allocation, __pyx_t_1); __pyx_t_1 = 0;
1501: else:
+1502: secondary_allocation += yy.total
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_total); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_secondary_allocation, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_secondary_allocation, __pyx_t_6);
__pyx_t_6 = 0;
}
__pyx_L7:;
1503:
+1504: if y.allocation_priority == 1:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_t_2, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1504, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L8; }
+1505: if priority_allocation > 0.0:
__pyx_t_6 = PyObject_RichCompare(__pyx_v_priority_allocation, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1505, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L9; }
+1506: y.tot_new_alloc = (reservoir.S[0] - reservoir.dead_pool)*max(y.total/priority_allocation, 1.0)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_dead_pool); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_10 = 1.0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_total); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_v_priority_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_11 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyObject_RichCompare(__pyx_t_11, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_9) { __pyx_t_12 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = __pyx_t_12; __pyx_t_12 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_t_2) < 0) __PYX_ERR(0, 1506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1507: else:
+1508: y.tot_new_alloc = 0.0
/*else*/ {
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_float_0_0) < 0) __PYX_ERR(0, 1508, __pyx_L1_error)
}
__pyx_L9:;
1509: else:
+1510: if secondary_allocation > 0.0:
/*else*/ {
__pyx_t_2 = PyObject_RichCompare(__pyx_v_secondary_allocation, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1510, __pyx_L1_error)
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1510, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_9) {
/* … */
goto __pyx_L10;
}
+1511: y.tot_new_alloc = max(reservoir.S[0] - reservoir.dead_pool - priority_allocation, 0.0)*y.total/secondary_allocation
__pyx_t_10 = 0.0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_dead_pool); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyNumber_Subtract(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_priority_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_6 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_12 = PyObject_RichCompare(__pyx_t_6, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
if (__pyx_t_9) {
__pyx_t_12 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_1 = __pyx_t_12;
__pyx_t_12 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_total); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_12 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_secondary_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_t_2) < 0) __PYX_ERR(0, 1511, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1512: else:
+1513: y.tot_new_alloc = 0.0
/*else*/ {
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_float_0_0) < 0) __PYX_ERR(0, 1513, __pyx_L1_error)
}
__pyx_L10:;
}
__pyx_L8:;
1514:
+1515: for x in self.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_12 = __pyx_t_2; __Pyx_INCREF(__pyx_t_12); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1515, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1515, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1515, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1515, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+1516: x.carryover[y.name] = 0.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_1, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1517:
1518:
+1519: def allocate_private_contracts(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_37allocate_private_contracts(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_37allocate_private_contracts = {"allocate_private_contracts", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_37allocate_private_contracts, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_37allocate_private_contracts(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("allocate_private_contracts (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_36allocate_private_contracts(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_36allocate_private_contracts(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_crop_life = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_crops = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_land_keys = NULL;
PyObject *__pyx_v_district_land = NULL;
PyObject *__pyx_v_private_crop_types = NULL;
PyObject *__pyx_v_contract = NULL;
PyObject *__pyx_v_total_acres = NULL;
PyObject *__pyx_v_private_acres = NULL;
PyObject *__pyx_v_private_crops = NULL;
PyObject *__pyx_v_future_year = NULL;
PyObject *__pyx_v_crop_year = NULL;
PyObject *__pyx_v_i = NULL;
PyObject *__pyx_v_pump_keys = NULL;
PyObject *__pyx_v_pump = NULL;
PyObject *__pyx_v_future_years = NULL;
CYTHON_UNUSED PyObject *__pyx_8genexpr7__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__39)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("allocate_private_contracts", 0);
__Pyx_TraceCall("allocate_private_contracts", __pyx_f[0], 1519, 0, __PYX_ERR(0, 1519, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.allocate_private_contracts", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_crop_life);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_crops);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_land_keys);
__Pyx_XDECREF(__pyx_v_district_land);
__Pyx_XDECREF(__pyx_v_private_crop_types);
__Pyx_XDECREF(__pyx_v_contract);
__Pyx_XDECREF(__pyx_v_total_acres);
__Pyx_XDECREF(__pyx_v_private_acres);
__Pyx_XDECREF(__pyx_v_private_crops);
__Pyx_XDECREF(__pyx_v_future_year);
__Pyx_XDECREF(__pyx_v_crop_year);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XDECREF(__pyx_v_pump_keys);
__Pyx_XDECREF(__pyx_v_pump);
__Pyx_XDECREF(__pyx_v_future_years);
__Pyx_XDECREF(__pyx_8genexpr7__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__107 = PyTuple_Pack(19, __pyx_n_s_self, __pyx_n_s_crop_life, __pyx_n_s_district, __pyx_n_s_crops, __pyx_n_s_x, __pyx_n_s_land_keys, __pyx_n_s_district_land, __pyx_n_s_private_crop_types, __pyx_n_s_contract, __pyx_n_s_total_acres, __pyx_n_s_private_acres, __pyx_n_s_private_crops, __pyx_n_s_future_year, __pyx_n_s_crop_year, __pyx_n_s_i, __pyx_n_s_pump_keys, __pyx_n_s_pump_2, __pyx_n_s_future_years, __pyx_n_s__12); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 1519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__107);
__Pyx_GIVEREF(__pyx_tuple__107);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_37allocate_private_contracts, 0, __pyx_n_s_Model_allocate_private_contracts, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_allocate_private_contracts, __pyx_t_2) < 0) __PYX_ERR(0, 1519, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 19, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_allocate_private_contracts, 1519, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 1519, __pyx_L1_error)
+1520: crop_life = 25
__Pyx_INCREF(__pyx_int_25);
__pyx_v_crop_life = __pyx_int_25;
+1521: for district in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1521, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1521, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1521, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1521, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1522: district.private_acreage = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_district, __pyx_n_s_private_acreage, __pyx_t_1) < 0) __PYX_ERR(0, 1522, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1523: if district.has_pesticide:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1523, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L5; }
+1524: district.private_fraction = [0.0 for _ in range(self.number_years)]
{ /* enter inner scope */
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
__pyx_t_6 = __pyx_t_7; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
__pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1524, __pyx_L8_error)
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
for (;;) {
if (likely(!__pyx_t_9)) {
if (likely(PyList_CheckExact(__pyx_t_6))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1524, __pyx_L8_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_7); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1524, __pyx_L8_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1524, __pyx_L8_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
}
} else {
__pyx_t_7 = __pyx_t_9(__pyx_t_6);
if (unlikely(!__pyx_t_7)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1524, __pyx_L8_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_7);
}
__Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v__, __pyx_t_7);
__pyx_t_7 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1524, __pyx_L8_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_8genexpr7__pyx_v__); __pyx_8genexpr7__pyx_v__ = 0;
goto __pyx_L11_exit_scope;
__pyx_L8_error:;
__Pyx_XDECREF(__pyx_8genexpr7__pyx_v__); __pyx_8genexpr7__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L11_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_district, __pyx_n_s_private_fraction, __pyx_t_1) < 0) __PYX_ERR(0, 1524, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1525: for crops in district.acreage_by_year:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1525, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1525, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1525, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1525, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1526: district.private_acreage[crops] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_11, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_crops, __pyx_t_1) < 0)) __PYX_ERR(0, 1526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1527: elif district.has_pmp:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L5; }
+1528: for crops in district.pmp_acreage:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1528, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1528, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1528, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1528, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1529: district.private_acreage[crops] = 0.0
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_crops, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1530: else:
+1531: district.private_fraction = [0.0]
/*else*/ {
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1531, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0);
if (__Pyx_PyObject_SetAttrStr(__pyx_v_district, __pyx_n_s_private_fraction, __pyx_t_1) < 0) __PYX_ERR(0, 1531, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1532: for crops in district.crop_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1532, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1532, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1532, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1532, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_L5:;
+1533: district.private_acreage[crops] = 0.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_crops, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1534: for x in self.private_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_6 = __pyx_t_2; __Pyx_INCREF(__pyx_t_6); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1534, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1534, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1534, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_6); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1534, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1535: x.acreage = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_acreage, __pyx_t_2) < 0) __PYX_ERR(0, 1535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1536: x.contract_fraction = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_fraction, __pyx_t_2) < 0) __PYX_ERR(0, 1536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1537: x.private_fraction = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction, __pyx_t_2) < 0) __PYX_ERR(0, 1537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1538: x.contract_list = []
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_list, __pyx_t_2) < 0) __PYX_ERR(0, 1538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1539: x.initial_planting = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting, __pyx_t_2) < 0) __PYX_ERR(0, 1539, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1540: x.has_pesticide = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide, __pyx_t_2) < 0) __PYX_ERR(0, 1540, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1541: x.has_pmp = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_has_pmp, __pyx_t_2) < 0) __PYX_ERR(0, 1541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1542: for land_keys in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1542, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1542, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1542, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1542, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_land_keys, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1543: district_land = self.district_keys[land_keys]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_district_land, __pyx_t_10); __pyx_t_10 = 0;
+1544: if district_land.has_pesticide:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1544, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L22; }
+1545: x.has_pesticide[land_keys] = 1
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_land_keys, __pyx_int_1) < 0)) __PYX_ERR(0, 1545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1546: x.has_pmp[land_keys] = 0
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_land_keys, __pyx_int_0) < 0)) __PYX_ERR(0, 1546, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1547: else:
+1548: x.has_pesticide[land_keys] = 0
/*else*/ {
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1548, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_land_keys, __pyx_int_0) < 0)) __PYX_ERR(0, 1548, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1549: if district_land.has_pmp:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1549, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L23; }
+1550: x.has_pmp[land_keys] = 1
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_land_keys, __pyx_int_1) < 0)) __PYX_ERR(0, 1550, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
1551: else:
+1552: x.has_pmp[land_keys] = 0
/*else*/ {
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1552, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_v_land_keys, __pyx_int_0) < 0)) __PYX_ERR(0, 1552, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__pyx_L23:;
}
__pyx_L22:;
+1553: for land_keys in x.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_10 = __pyx_t_1; __Pyx_INCREF(__pyx_t_10); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1553, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1553, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_10, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1553, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_10, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_10); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1553, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_land_keys, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1554: x.acreage[land_keys] = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_land_keys, __pyx_t_1) < 0)) __PYX_ERR(0, 1554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1555: x.initial_planting[land_keys] = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_land_keys, __pyx_t_1) < 0)) __PYX_ERR(0, 1555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1556: for crops in x.crop_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1556, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1556, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1556, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_13(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1556, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1557: if x.has_pesticide[land_keys]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1557, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L28; }
+1558: x.initial_planting[land_keys][crops] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_7 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_14, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_1); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_land_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_crops, __pyx_t_7) < 0)) __PYX_ERR(0, 1558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1559: else:
+1560: x.initial_planting[land_keys][crops] = 0.0
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_crops, __pyx_float_0_0) < 0)) __PYX_ERR(0, 1560, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L28:;
+1561: for private_crop_types in x.crop_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1561, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1561, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1561, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_13(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1561, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_private_crop_types, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1562: x.acreage[land_keys][private_crop_types] = np.zeros(crop_life)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); } } __pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_7, __pyx_v_crop_life) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_crop_life); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_land_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_private_crop_types, __pyx_t_2) < 0)) __PYX_ERR(0, 1562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1563:
+1564: district_land = self.district_keys[land_keys]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_district_land, __pyx_t_2); __pyx_t_2 = 0;
+1565: for contract in district_land.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1565, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1565, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1565, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_13(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1565, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1566: if contract not in x.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PySequence_ContainsTF(__pyx_v_contract, __pyx_t_2, Py_NE)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1566, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_15 = (__pyx_t_5 != 0); if (__pyx_t_15) { /* … */ }
+1567: x.contract_list.append(contract)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1567, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_Append(__pyx_t_2, __pyx_v_contract); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 1567, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1568:
+1569: if district_land.has_pesticide:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L34; }
+1570: x.private_fraction[land_keys] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_11, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_land_keys, __pyx_t_1) < 0)) __PYX_ERR(0, 1570, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1571: total_acres = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_11, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_total_acres, __pyx_t_1); __pyx_t_1 = 0;
+1572: private_acres = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_11, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_private_acres, __pyx_t_1); __pyx_t_1 = 0;
1573: else:
+1574: x.private_fraction[land_keys] = np.zeros(self.number_years)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_11 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_11)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_11, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_land_keys, __pyx_t_1) < 0)) __PYX_ERR(0, 1574, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1575: total_acres = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_acres, __pyx_float_0_0);
+1576: private_acres = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_private_acres, __pyx_float_0_0); } __pyx_L34:;
+1577: if district_land.has_pesticide:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1577, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1577, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L35; }
+1578: for crops in district_land.acreage_by_year:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1578, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1578, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_12); __Pyx_INCREF(__pyx_t_1); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1578, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_13(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1578, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1579: for private_crops in x.crop_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1579, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_17); __Pyx_INCREF(__pyx_t_1); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1579, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_17); __Pyx_INCREF(__pyx_t_1); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1579, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_18(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1579, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_private_crops, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1580: if private_crops == crops:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_private_crops, __pyx_v_crops, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1580, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1580, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_15) { /* … */ }
+1581: for future_year in range(0, self.number_years):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_11 = __pyx_t_1; __Pyx_INCREF(__pyx_t_11); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_20 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1581, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_19); __Pyx_INCREF(__pyx_t_1); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1581, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_11, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_19); __Pyx_INCREF(__pyx_t_1); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1581, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_11, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_20(__pyx_t_11); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1581, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1582: private_acres[future_year] += x.contract_fractions[land_keys]*district_land.acreage_by_year[crops][future_year]
__Pyx_INCREF(__pyx_v_future_year); __pyx_t_1 = __pyx_v_future_year; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_private_acres, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_crops); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_future_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Multiply(__pyx_t_22, __pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_v_private_acres, __pyx_t_1, __pyx_t_21) < 0)) __PYX_ERR(0, 1582, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1583: district_land.private_acreage[private_crops][future_year] += x.contract_fractions[land_keys]*district_land.acreage_by_year[crops][future_year]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_private_crops); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_future_year); __pyx_t_1 = __pyx_v_future_year; __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_land_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_crops); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_v_future_year); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = PyNumber_Multiply(__pyx_t_22, __pyx_t_14); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_23, __pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_1, __pyx_t_14) < 0)) __PYX_ERR(0, 1583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+1584: if future_year == 0:
__pyx_t_21 = __Pyx_PyInt_EqObjC(__pyx_v_future_year, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1584, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1584, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L43; }
+1585: x.initial_planting[land_keys][private_crops][future_year] = x.contract_fractions[land_keys]*district_land.acreage_by_year[crops][future_year]/float(crop_life)
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_crops); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_future_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_14, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_private_crops); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_v_future_year, __pyx_t_1) < 0)) __PYX_ERR(0, 1585, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1586: else:
1587: #x.initial_planting[land_keys][private_crops][future_year] = x.initial_planting[land_keys][private_crops][future_year-1] + max(x.contract_fractions[land_keys]*(district_land.acreage_by_year[crops][future_year] - district_land.acreage_by_year[crops][future_year-1]),0.0)
+1588: x.initial_planting[land_keys][private_crops][future_year] = x.contract_fractions[land_keys]*district_land.acreage_by_year[crops][future_year]/float(crop_life)
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_crops); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_future_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = PyNumber_Multiply(__pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_21 = __Pyx_PyNumber_Divide(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_future_year, __pyx_t_21) < 0)) __PYX_ERR(0, 1588, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
}
__pyx_L43:;
1589:
1590:
+1591: for crop_year in range(0,crop_life):
__pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_crop_life); __Pyx_GIVEREF(__pyx_v_crop_life); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_v_crop_life); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_11, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_11 = __pyx_t_21; __Pyx_INCREF(__pyx_t_11); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_20 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1591, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_19); __Pyx_INCREF(__pyx_t_21); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1591, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_11, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_19); __Pyx_INCREF(__pyx_t_21); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1591, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_11, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_20(__pyx_t_11); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1591, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_crop_year, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1592: if x.has_pesticide[land_keys]:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L46; }
+1593: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops][0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_INCREF(__pyx_v_crop_year); __pyx_t_21 = __pyx_v_crop_year; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_private_crops); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_GetItemInt(__pyx_t_24, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_23); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_21, __pyx_t_24) < 0)) __PYX_ERR(0, 1593, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1594: else:
+1595: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_INCREF(__pyx_v_crop_year);
__pyx_t_21 = __pyx_v_crop_year;
__pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_private_crops); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_24, __pyx_t_23); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_21, __pyx_t_14) < 0)) __PYX_ERR(0, 1595, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L46:;
1596:
+1597: if crops != 'idle':
__pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_v_crops, __pyx_n_u_idle, Py_NE)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1597, __pyx_L1_error) if (__pyx_t_15) { /* … */ }
+1598: for future_year in range(0, self.number_years):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_11 = __pyx_t_7; __Pyx_INCREF(__pyx_t_11); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1598, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1598, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_11, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1598, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_11, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_18(__pyx_t_11); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1598, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1599: total_acres[future_year] += district_land.acreage_by_year[crops][future_year]
__Pyx_INCREF(__pyx_v_future_year); __pyx_t_7 = __pyx_v_future_year; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_total_acres, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_crops); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_future_year); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(PyObject_SetItem(__pyx_v_total_acres, __pyx_t_7, __pyx_t_14) < 0)) __PYX_ERR(0, 1599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1600:
+1601: elif district_land.has_pmp:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1601, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L35; }
+1602: for crops in district_land.pmp_acreage:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_11 = __pyx_t_2; __Pyx_INCREF(__pyx_t_11); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1602, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1602, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1602, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1603: for private_crops in x.crop_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1603, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_17); __Pyx_INCREF(__pyx_t_2); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1603, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_17); __Pyx_INCREF(__pyx_t_2); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1603, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_18(__pyx_t_7); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1603, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_private_crops, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1604: if private_crops == crops:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_private_crops, __pyx_v_crops, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1604, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* … */ }
+1605: private_acres += x.contract_fractions[land_keys]*district_land.pmp_acreage[crops]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_crops); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_14, __pyx_t_21); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_v_private_acres, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_private_acres, __pyx_t_21); __pyx_t_21 = 0;
+1606: district_land.private_acreage[private_crops] += x.contract_fractions[land_keys]*district_land.pmp_acreage[crops]
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_v_private_crops); __pyx_t_2 = __pyx_v_private_crops; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_crops); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_23, __pyx_t_24); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_2, __pyx_t_24) < 0)) __PYX_ERR(0, 1606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+1607: if x.has_pesticide[land_keys]:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L55; }
+1608: for future_year in range(0, self.number_years):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_21 = __pyx_t_2; __Pyx_INCREF(__pyx_t_21); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_20 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1608, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1608, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_21, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1608, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_21, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_20(__pyx_t_21); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1608, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+1609: x.initial_planting[land_keys][private_crops][future_year] = x.contract_fractions[land_keys]*district_land.pmp_acreage[crops]/float(crop_life)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_24, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_24 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_future_year, __pyx_t_24) < 0)) __PYX_ERR(0, 1609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
1610: else:
+1611: x.initial_planting[land_keys][private_crops] = x.contract_fractions[land_keys]*district_land.pmp_acreage[crops]/float(crop_life)
/*else*/ {
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = PyNumber_Multiply(__pyx_t_24, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_24 = __Pyx_PyNumber_Divide(__pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_v_private_crops, __pyx_t_24) < 0)) __PYX_ERR(0, 1611, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
}
__pyx_L55:;
1612:
+1613: for crop_year in range(0,crop_life):
__pyx_t_24 = PyTuple_New(2); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_crop_life); __Pyx_GIVEREF(__pyx_v_crop_life); PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_v_crop_life); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_24, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_24 = __pyx_t_21; __Pyx_INCREF(__pyx_t_24); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_20 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1613, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_24))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_19); __Pyx_INCREF(__pyx_t_21); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1613, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_24, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_19); __Pyx_INCREF(__pyx_t_21); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1613, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_24, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_20(__pyx_t_24); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1613, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_crop_year, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+1614: if x.has_pesticide[land_keys]:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L60; }
+1615: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops][0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_INCREF(__pyx_v_crop_year); __pyx_t_21 = __pyx_v_crop_year; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_private_crops); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_23); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_21, __pyx_t_14) < 0)) __PYX_ERR(0, 1615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1616: else:
+1617: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_private_crops); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_INCREF(__pyx_v_crop_year);
__pyx_t_21 = __pyx_v_crop_year;
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_private_crops); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_23); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_21, __pyx_t_2) < 0)) __PYX_ERR(0, 1617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L60:;
1618:
+1619: if crops != 'idle':
__pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_v_crops, __pyx_n_u_idle, Py_NE)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1619, __pyx_L1_error) if (__pyx_t_15) { /* … */ }
+1620: total_acres += district_land.pmp_acreage[crops]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_crops); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_total_acres, __pyx_t_24); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF_SET(__pyx_v_total_acres, __pyx_t_7); __pyx_t_7 = 0;
1621:
1622:
1623: else:
+1624: for i,crops in enumerate(district_land.crop_list):
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_t_11 = __pyx_int_0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) {
__pyx_t_24 = __pyx_t_7; __Pyx_INCREF(__pyx_t_24); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
} else {
__pyx_t_12 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_13 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1624, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
for (;;) {
if (likely(!__pyx_t_13)) {
if (likely(PyList_CheckExact(__pyx_t_24))) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_24)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1624, __pyx_L1_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
} else {
if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_24)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1624, __pyx_L1_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
}
} else {
__pyx_t_7 = __pyx_t_13(__pyx_t_24);
if (unlikely(!__pyx_t_7)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1624, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_7);
}
__Pyx_XDECREF_SET(__pyx_v_crops, __pyx_t_7);
__pyx_t_7 = 0;
__Pyx_INCREF(__pyx_t_11);
__Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_11);
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_11, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1624, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_11);
__pyx_t_11 = __pyx_t_7;
__pyx_t_7 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_L35:;
+1625: for private_crops in x.crop_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_18 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1625, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1625, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_17); __Pyx_INCREF(__pyx_t_7); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 1625, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_18(__pyx_t_1); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1625, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_private_crops, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1626: if private_crops == crops:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_private_crops, __pyx_v_crops, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1626, __pyx_L1_error) __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1626, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_15) { /* … */ }
+1627: private_acres += x.contract_fractions[land_keys]*district_land.acreage['BN'][i]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_BN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_21, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_private_acres, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_private_acres, __pyx_t_7); __pyx_t_7 = 0;
+1628: district_land.private_acreage[private_crops] += x.contract_fractions[land_keys]*district_land.acreage['BN'][i]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_private_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_private_crops); __pyx_t_2 = __pyx_v_private_crops; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_BN); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_i); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_Multiply(__pyx_t_14, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_2, __pyx_t_23) < 0)) __PYX_ERR(0, 1628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1629: if x.has_pesticide[land_keys]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1629, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L67; }
+1630: for future_year in range(0, self.number_years):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_20 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1630, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1630, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1630, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_20(__pyx_t_7); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1630, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+1631: x.initial_planting[land_keys][private_crops][future_year] = x.contract_fractions[land_keys]*district_land.acreage['BN'][i]/float(crop_life)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_BN); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_i); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_Multiply(__pyx_t_23, __pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = __Pyx_PyNumber_Divide(__pyx_t_22, __pyx_t_2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_private_crops); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_future_year, __pyx_t_23) < 0)) __PYX_ERR(0, 1631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
1632: else:
+1633: x.initial_planting[land_keys][private_crops] = x.contract_fractions[land_keys]*district_land.acreage['BN'][i]/float(crop_life)
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_fractions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_BN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_i); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Multiply(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyNumber_Float(__pyx_v_crop_life); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_23 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_private_crops, __pyx_t_23) < 0)) __PYX_ERR(0, 1633, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
}
__pyx_L67:;
1634:
+1635: for crop_year in range(0,crop_life):
__pyx_t_23 = PyTuple_New(2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_crop_life); __Pyx_GIVEREF(__pyx_v_crop_life); PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_v_crop_life); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_23 = __pyx_t_2; __Pyx_INCREF(__pyx_t_23); __pyx_t_19 = 0; __pyx_t_20 = NULL; } else { __pyx_t_19 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_20 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 1635, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1635, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_23, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_19); __Pyx_INCREF(__pyx_t_2); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 1635, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_23, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_20(__pyx_t_23); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1635, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_crop_year, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+1636: if x.has_pesticide[land_keys]:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_land_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L72; }
+1637: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops][0]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_private_crops); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_v_crop_year); __pyx_t_2 = __pyx_v_crop_year; __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_land_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_private_crops); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_t_22, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_2, __pyx_t_21) < 0)) __PYX_ERR(0, 1637, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
1638: else:
+1639: x.acreage[land_keys][private_crops][crop_year] += x.initial_planting[land_keys][private_crops]
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_land_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_private_crops); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_INCREF(__pyx_v_crop_year);
__pyx_t_2 = __pyx_v_crop_year;
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_planting); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_land_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_private_crops); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_14); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_2, __pyx_t_22) < 0)) __PYX_ERR(0, 1639, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_L72:;
1640:
1641:
+1642: if crops != 'idle':
__pyx_t_15 = (__Pyx_PyUnicode_Equals(__pyx_v_crops, __pyx_n_u_idle, Py_NE)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1642, __pyx_L1_error) if (__pyx_t_15) { /* … */ }
+1643: total_acres += district_land.acreage['BN'][i]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_BN); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_total_acres, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_total_acres, __pyx_t_23); __pyx_t_23 = 0;
1644:
+1645: if district_land.has_pesticide:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_has_pesticide); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1645, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_15) { /* … */ goto __pyx_L74; }
+1646: for future_year in range(0, self.number_years):
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_24 = PyTuple_New(2); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_24, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_24 = __pyx_t_11; __Pyx_INCREF(__pyx_t_24); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_13 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1646, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_24))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1646, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1646, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_24); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1646, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+1647: x.private_fraction[land_keys][future_year] += private_acres[future_year]/total_acres[future_year]
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_land_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_INCREF(__pyx_v_future_year); __pyx_t_11 = __pyx_v_future_year; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_private_acres, __pyx_v_future_year); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_total_acres, __pyx_v_future_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_11, __pyx_t_2) < 0)) __PYX_ERR(0, 1647, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+1648: district_land.private_fraction[future_year] += private_acres[future_year]/total_acres[future_year]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_INCREF(__pyx_v_future_year); __pyx_t_11 = __pyx_v_future_year; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_v_private_acres, __pyx_v_future_year); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_total_acres, __pyx_v_future_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_22, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_11, __pyx_t_1) < 0)) __PYX_ERR(0, 1648, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
1649: #if district_land.private_fraction[future_year] > 1.0:
1650: #print("You have overallocated private lands in " + district_land.key)
1651: else:
+1652: for future_year in range(0, self.number_years):
/*else*/ {
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_23 = PyTuple_New(2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_int_0);
__Pyx_GIVEREF(__pyx_t_24);
PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_24);
__pyx_t_24 = 0;
__pyx_t_24 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_23, NULL); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (likely(PyList_CheckExact(__pyx_t_24)) || PyTuple_CheckExact(__pyx_t_24)) {
__pyx_t_23 = __pyx_t_24; __Pyx_INCREF(__pyx_t_23); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
} else {
__pyx_t_12 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_24); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_13 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1652, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
for (;;) {
if (likely(!__pyx_t_13)) {
if (likely(PyList_CheckExact(__pyx_t_23))) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_23)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_24 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_12); __Pyx_INCREF(__pyx_t_24); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1652, __pyx_L1_error)
#else
__pyx_t_24 = PySequence_ITEM(__pyx_t_23, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
#endif
} else {
if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_23)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_24 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_12); __Pyx_INCREF(__pyx_t_24); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1652, __pyx_L1_error)
#else
__pyx_t_24 = PySequence_ITEM(__pyx_t_23, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
#endif
}
} else {
__pyx_t_24 = __pyx_t_13(__pyx_t_23);
if (unlikely(!__pyx_t_24)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1652, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_24);
}
__Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_24);
__pyx_t_24 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+1653: x.private_fraction[land_keys][future_year] += private_acres/total_acres
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_v_land_keys); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_INCREF(__pyx_v_future_year); __pyx_t_24 = __pyx_v_future_year; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_24); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_v_private_acres, __pyx_v_total_acres); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_24, __pyx_t_2) < 0)) __PYX_ERR(0, 1653, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1654:
+1655: district_land.private_fraction[0] += private_acres/total_acres
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_land, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_12 = 0; __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_23, __pyx_t_12, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_24 = __Pyx_PyNumber_Divide(__pyx_v_private_acres, __pyx_v_total_acres); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_11, __pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_23, __pyx_t_12, __pyx_t_2, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1655, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __pyx_L74:;
1656: #if district_land.private_fraction > 1.0:
1657: #print("You have overallocated private lands in " + district_land.key)
1658:
1659:
+1660: for x in self.city_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_10 = __pyx_t_6; __Pyx_INCREF(__pyx_t_10); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1660, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_3); __Pyx_INCREF(__pyx_t_6); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1660, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_10, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_3); __Pyx_INCREF(__pyx_t_6); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1660, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_10, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1660, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_4(__pyx_t_10); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1660, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+1661: x.contract_fraction = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_fraction, __pyx_t_6) < 0) __PYX_ERR(0, 1661, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1662: x.private_fraction = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction, __pyx_t_6) < 0) __PYX_ERR(0, 1662, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1663: x.contract_list = []
__pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_contract_list, __pyx_t_6) < 0) __PYX_ERR(0, 1663, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1664: for pump_keys in x.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_23 = __pyx_t_6; __Pyx_INCREF(__pyx_t_23); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_9 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1664, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1664, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_23, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_8); __Pyx_INCREF(__pyx_t_6); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1664, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_23, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_9(__pyx_t_23); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1664, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_pump_keys, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+1665: pump = self.district_keys[pump_keys]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_pump_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_pump, __pyx_t_2); __pyx_t_2 = 0;
+1666: x.private_fraction[pump_keys] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_24))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_24); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_24, function); } } __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_24, __pyx_t_11, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_24, __pyx_t_6); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (unlikely(PyObject_SetItem(__pyx_t_24, __pyx_v_pump_keys, __pyx_t_2) < 0)) __PYX_ERR(0, 1666, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1667: for future_years in range(0, self.number_years):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_24 = PyTuple_New(2); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_24, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_24 = __pyx_t_2; __Pyx_INCREF(__pyx_t_24); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_13 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1667, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_24))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1667, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_2); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1667, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_13(__pyx_t_24); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1667, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_future_years, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+1668: x.private_fraction[pump_keys][future_years] = x.pump_out_fraction[pump_keys]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_pump_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_pump_keys); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_v_future_years, __pyx_t_6) < 0)) __PYX_ERR(0, 1668, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1669: pump.private_fraction[0] += x.pump_out_fraction[pump_keys]
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_pump, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_12 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_24, __pyx_t_12, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_pump_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_24, __pyx_t_12, __pyx_t_11, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1669, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+1670: for contract in pump.contract_list:
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_pump, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (likely(PyList_CheckExact(__pyx_t_24)) || PyTuple_CheckExact(__pyx_t_24)) { __pyx_t_11 = __pyx_t_24; __Pyx_INCREF(__pyx_t_11); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_24); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1670, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_24 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_24); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1670, __pyx_L1_error) #else __pyx_t_24 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_24 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_24); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1670, __pyx_L1_error) #else __pyx_t_24 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); #endif } } else { __pyx_t_24 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_24)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1670, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_24); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_24); __pyx_t_24 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+1671: if contract not in x.contract_list:
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_15 = (__Pyx_PySequence_ContainsTF(__pyx_v_contract, __pyx_t_24, Py_NE)); if (unlikely(__pyx_t_15 < 0)) __PYX_ERR(0, 1671, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_5 = (__pyx_t_15 != 0); if (__pyx_t_5) { /* … */ }
+1672: x.contract_list.append(contract)
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_16 = __Pyx_PyObject_Append(__pyx_t_24, __pyx_v_contract); if (unlikely(__pyx_t_16 == ((int)-1))) __PYX_ERR(0, 1672, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
1673:
+1674: def determine_recharge_recovery_risk(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_39determine_recharge_recovery_risk(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_39determine_recharge_recovery_risk = {"determine_recharge_recovery_risk", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_39determine_recharge_recovery_risk, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_39determine_recharge_recovery_risk(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("determine_recharge_recovery_risk (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_38determine_recharge_recovery_risk(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_38determine_recharge_recovery_risk(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_contract_estimates = NULL;
PyObject *__pyx_v_delivery_values = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_total_available = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_contracts = NULL;
PyObject *__pyx_v_contract_object = NULL;
PyObject *__pyx_v_future_year = NULL;
PyObject *__pyx_v_cumulative_balance = NULL;
double __pyx_v_cumulative_years;
PyObject *__pyx_v_total_delivery_recalfews_src = NULL;
Py_ssize_t __pyx_v_hist_year;
PyObject *__pyx_v_private_deliveries = NULL;
PyObject *__pyx_v_annual_balance = NULL;
CYTHON_UNUSED PyObject *__pyx_8genexpr8__pyx_v__ = NULL;
CYTHON_UNUSED Py_ssize_t __pyx_8genexpr9__pyx_v__;
CYTHON_UNUSED Py_ssize_t __pyx_9genexpr10__pyx_v__;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__40)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("determine_recharge_recovery_risk", 0);
__Pyx_TraceCall("determine_recharge_recovery_risk", __pyx_f[0], 1674, 0, __PYX_ERR(0, 1674, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.determine_recharge_recovery_risk", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_contract_estimates);
__Pyx_XDECREF(__pyx_v_delivery_values);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_total_available);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_contracts);
__Pyx_XDECREF(__pyx_v_contract_object);
__Pyx_XDECREF(__pyx_v_future_year);
__Pyx_XDECREF(__pyx_v_cumulative_balance);
__Pyx_XDECREF(__pyx_v_total_delivery_recalfews_src);
__Pyx_XDECREF(__pyx_v_private_deliveries);
__Pyx_XDECREF(__pyx_v_annual_balance);
__Pyx_XDECREF(__pyx_8genexpr8__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__108 = PyTuple_Pack(20, __pyx_n_s_self, __pyx_n_s_contract_estimates, __pyx_n_s_delivery_values, __pyx_n_s_y, __pyx_n_s_total_available, __pyx_n_s_x, __pyx_n_s_district, __pyx_n_s_district_object, __pyx_n_s_contracts, __pyx_n_s_contract_object, __pyx_n_s_future_year, __pyx_n_s_cumulative_balance, __pyx_n_s_cumulative_years, __pyx_n_s_total_delivery_recalfews_src, __pyx_n_s_hist_year, __pyx_n_s_private_deliveries, __pyx_n_s_annual_balance, __pyx_n_s__12, __pyx_n_s__12, __pyx_n_s__12); if (unlikely(!__pyx_tuple__108)) __PYX_ERR(0, 1674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__108);
__Pyx_GIVEREF(__pyx_tuple__108);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_39determine_recharge_recovery_risk, 0, __pyx_n_s_Model_determine_recharge_recover, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1674, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_determine_recharge_recovery_risk, __pyx_t_2) < 0) __PYX_ERR(0, 1674, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 20, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_determine_recharge_recovery_risk, 1674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 1674, __pyx_L1_error)
+1675: contract_estimates = pd.read_csv('calfews_src/data/input/contract_risks.csv')
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_u_calfews_src_data_input_contract) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_calfews_src_data_input_contract); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_contract_estimates = __pyx_t_1; __pyx_t_1 = 0;
+1676: delivery_values = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_delivery_values = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1677: for y in self.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1677, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1677, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1677, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1677, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1678: total_available = contract_estimates[y.key + '_contract'] + contract_estimates[y.key + '_flood'] + contract_estimates[y.key + '_carryover'] + contract_estimates[y.key + '_turnback']
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_n_u_contract_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_contract_estimates, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyNumber_Add(__pyx_t_2, __pyx_n_u_flood); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_contract_estimates, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_n_u_carryover_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_contract_estimates, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_6, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyNumber_Add(__pyx_t_2, __pyx_n_u_turnback); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_contract_estimates, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_total_available, __pyx_t_6); __pyx_t_6 = 0;
+1679: delivery_values[y.key] = total_available
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyDict_SetItem(__pyx_v_delivery_values, __pyx_t_6, __pyx_v_total_available) < 0)) __PYX_ERR(0, 1679, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1680: for x in self.private_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_6 = __pyx_t_3; __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1680, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1680, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1680, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_5(__pyx_t_6); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1680, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1681: x.target_annual_demand = [0. for _ in range(self.number_years)]
{ /* enter inner scope */
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1681, __pyx_L9_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1681, __pyx_L9_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1681, __pyx_L9_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1681, __pyx_L9_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_8(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1681, __pyx_L9_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v__, __pyx_t_1);
__pyx_t_1 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_float_0_))) __PYX_ERR(0, 1681, __pyx_L9_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_8genexpr8__pyx_v__); __pyx_8genexpr8__pyx_v__ = 0;
goto __pyx_L12_exit_scope;
__pyx_L9_error:;
__Pyx_XDECREF(__pyx_8genexpr8__pyx_v__); __pyx_8genexpr8__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L12_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_target_annual_demand, __pyx_t_3) < 0) __PYX_ERR(0, 1681, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1682: for district in x.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1682, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1682, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1682, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1682, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1683: district_object = self.district_keys[district]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_district); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_1); __pyx_t_1 = 0;
+1684: for contracts in district_object.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1684, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1684, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1684, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1684, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_contracts, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1685: contract_object = self.contract_keys[contracts]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_contracts); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_object, __pyx_t_11); __pyx_t_11 = 0;
+1686: for future_year in range(0, self.number_years):
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_1 = __pyx_t_11; __Pyx_INCREF(__pyx_t_1); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1686, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1686, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 1686, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_1, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_1); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1686, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_future_year, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1687: x.target_annual_demand[future_year] += np.mean(delivery_values[contract_object.key])*district_object.project_contract[contract_object.name]*x.private_fraction[district][future_year]
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_target_annual_demand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_v_future_year); __pyx_t_14 = __pyx_v_future_year; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_np); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_mean); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_key); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = __Pyx_PyDict_GetItem(__pyx_v_delivery_values, __pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); } } __pyx_t_16 = (__pyx_t_17) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_17, __pyx_t_19) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_19); __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_name); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_16, __pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_district); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_future_year); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Multiply(__pyx_t_19, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_14, __pyx_t_17) < 0)) __PYX_ERR(0, 1687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
1688:
+1689: x.delivery_risk = [0.0 for _ in range(len(total_available))]
{ /* enter inner scope */
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1689, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_v_total_available)) { __Pyx_RaiseUnboundLocalError("total_available"); __PYX_ERR(0, 1689, __pyx_L1_error) }
__pyx_t_7 = PyObject_Length(__pyx_v_total_available); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1689, __pyx_L1_error)
__pyx_t_9 = __pyx_t_7;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_9; __pyx_t_12+=1) {
__pyx_8genexpr9__pyx_v__ = __pyx_t_12;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1689, __pyx_L1_error)
}
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_risk, __pyx_t_2) < 0) __PYX_ERR(0, 1689, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1690: x.delivery_risk_rate = [0.0 for _ in range(len(total_available))]
{ /* enter inner scope */
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(!__pyx_v_total_available)) { __Pyx_RaiseUnboundLocalError("total_available"); __PYX_ERR(0, 1690, __pyx_L1_error) }
__pyx_t_7 = PyObject_Length(__pyx_v_total_available); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1690, __pyx_L1_error)
__pyx_t_9 = __pyx_t_7;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_9; __pyx_t_12+=1) {
__pyx_9genexpr10__pyx_v__ = __pyx_t_12;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1690, __pyx_L1_error)
}
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_risk_rate, __pyx_t_2) < 0) __PYX_ERR(0, 1690, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1691: cumulative_balance = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_cumulative_balance, __pyx_float_0_0);
+1692: cumulative_years = 0.0
__pyx_v_cumulative_years = 0.0;
+1693: total_delivery_recalfews_src = np.zeros(len(total_available))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_v_total_available)) { __Pyx_RaiseUnboundLocalError("total_available"); __PYX_ERR(0, 1693, __pyx_L1_error) } __pyx_t_7 = PyObject_Length(__pyx_v_total_available); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1693, __pyx_L1_error) __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_2 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_11, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_total_delivery_recalfews_src, __pyx_t_2); __pyx_t_2 = 0;
+1694: for hist_year in range(0, len(total_available)):
if (unlikely(!__pyx_v_total_available)) { __Pyx_RaiseUnboundLocalError("total_available"); __PYX_ERR(0, 1694, __pyx_L1_error) }
__pyx_t_7 = PyObject_Length(__pyx_v_total_available); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1694, __pyx_L1_error)
__pyx_t_9 = __pyx_t_7;
for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_9; __pyx_t_12+=1) {
__pyx_v_hist_year = __pyx_t_12;
+1695: private_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_private_deliveries, __pyx_float_0_0);
+1696: for district in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_20 = 0; __pyx_t_8 = NULL; } else { __pyx_t_20 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1696, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1696, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_20); __Pyx_INCREF(__pyx_t_2); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 1696, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1696, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1697: district_object = self.district_keys[district]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_3); __pyx_t_3 = 0;
+1698: for contracts in district_object.contract_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_21 = 0; __pyx_t_10 = NULL; } else { __pyx_t_21 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1698, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_21); __Pyx_INCREF(__pyx_t_3); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 1698, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_21); __Pyx_INCREF(__pyx_t_3); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 1698, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1698, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_contracts, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1699: contract_object = self.contract_keys[contracts]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_contracts); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_object, __pyx_t_11); __pyx_t_11 = 0;
+1700: if contract_object.type == 'contract':
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_type); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_22 = (__Pyx_PyUnicode_Equals(__pyx_t_11, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_22) { /* … */ goto __pyx_L29; }
+1701: private_deliveries += delivery_values[contract_object.key][hist_year]*district_object.project_contract[contract_object.name]*x.private_fraction[district][0]
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_delivery_values, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_hist_year, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_11, __pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_district); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Multiply(__pyx_t_14, __pyx_t_17); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_v_private_deliveries, __pyx_t_11); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_private_deliveries, __pyx_t_17); __pyx_t_17 = 0;
1702: else:
+1703: private_deliveries += delivery_values[contract_object.key][hist_year]*district_object.rights[contract_object.name]['capacity']*x.private_fraction[district][0]
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_key); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_delivery_values, __pyx_t_17); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = __Pyx_GetItemInt(__pyx_t_11, __pyx_v_hist_year, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_object, __pyx_n_s_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_capacity); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Multiply(__pyx_t_17, __pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_district); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_GetItemInt(__pyx_t_17, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_17 = PyNumber_Multiply(__pyx_t_3, __pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = PyNumber_InPlaceAdd(__pyx_v_private_deliveries, __pyx_t_17); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF_SET(__pyx_v_private_deliveries, __pyx_t_14);
__pyx_t_14 = 0;
}
__pyx_L29:;
1704:
+1705: total_delivery_recalfews_src[hist_year] = private_deliveries
if (unlikely(__Pyx_SetItemInt(__pyx_v_total_delivery_recalfews_src, __pyx_v_hist_year, __pyx_v_private_deliveries, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1705, __pyx_L1_error)
+1706: annual_balance = private_deliveries - x.target_annual_demand[0]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_target_annual_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_private_deliveries, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_annual_balance, __pyx_t_1); __pyx_t_1 = 0;
+1707: cumulative_balance += annual_balance
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_cumulative_balance, __pyx_v_annual_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_cumulative_balance, __pyx_t_1); __pyx_t_1 = 0;
+1708: cumulative_years += 1.0
__pyx_v_cumulative_years = (__pyx_v_cumulative_years + 1.0);
+1709: if cumulative_balance > 0.0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_cumulative_balance, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1709, __pyx_L1_error) __pyx_t_22 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_22 < 0)) __PYX_ERR(0, 1709, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_22) { /* … */ }
+1710: cumulative_balance = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_cumulative_balance, __pyx_float_0_0);
+1711: cumulative_years = 0.0
__pyx_v_cumulative_years = 0.0;
+1712: x.delivery_risk[hist_year] = cumulative_balance
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_risk); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(__Pyx_SetItemInt(__pyx_t_1, __pyx_v_hist_year, __pyx_v_cumulative_balance, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1712, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1713: x.delivery_risk_rate[hist_year] = cumulative_years
__pyx_t_1 = PyFloat_FromDouble(__pyx_v_cumulative_years); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_risk_rate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_v_hist_year, __pyx_t_1, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 1713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
1714: # df = pd.DataFrame()
1715: # df['delivery_risk'] = pd.Series(x.delivery_risk)
1716: # df['deliveries'] = pd.Series(total_delivery_recalfews_src)
1717: # df['average_demand'] = pd.Series(np.ones(len(x.delivery_risk))*x.target_annual_demand[0])
1718: # df.to_csv(self.results_folder + '/delivery_risk_' + x.key + '.csv')
1719:
+1720: def init_tot_recovery(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_41init_tot_recovery(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_41init_tot_recovery = {"init_tot_recovery", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_41init_tot_recovery, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_41init_tot_recovery(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("init_tot_recovery (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_40init_tot_recovery(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_40init_tot_recovery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_member = NULL;
PyObject *__pyx_v_num_districts = NULL;
PyObject *__pyx_v_irr_district = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__41)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("init_tot_recovery", 0);
__Pyx_TraceCall("init_tot_recovery", __pyx_f[0], 1720, 0, __PYX_ERR(0, 1720, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.init_tot_recovery", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_member);
__Pyx_XDECREF(__pyx_v_num_districts);
__Pyx_XDECREF(__pyx_v_irr_district);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__109 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_x, __pyx_n_s_w, __pyx_n_s_member, __pyx_n_s_num_districts, __pyx_n_s_irr_district); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 1720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__109);
__Pyx_GIVEREF(__pyx_tuple__109);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_41init_tot_recovery, 0, __pyx_n_s_Model_init_tot_recovery, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__41)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_init_tot_recovery, __pyx_t_2) < 0) __PYX_ERR(0, 1720, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__41 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_init_tot_recovery, 1720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__41)) __PYX_ERR(0, 1720, __pyx_L1_error)
1721: #########################################################################################
1722: ###this function finds the total GW recovery
1723: ###capacity available to all district objects
1724: #########################################################################################
1725:
+1726: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1726, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1726, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1726, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1726, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1727: x.max_recovery = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_max_recovery, __pyx_float_0_0) < 0) __PYX_ERR(0, 1727, __pyx_L1_error)
+1728: for x in self.private_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1728, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1728, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1728, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1728, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1729: x.max_recovery = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_max_recovery, __pyx_float_0_0) < 0) __PYX_ERR(0, 1729, __pyx_L1_error)
+1730: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1730, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1730, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1730, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1730, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1731: x.max_recovery = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_max_recovery, __pyx_float_0_0) < 0) __PYX_ERR(0, 1731, __pyx_L1_error)
1732: #each waterbank has a list of district participants -
1733: #they get credit for their ownership share of the total recovery capacity
+1734: for w in self.waterbank_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1734, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1734, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1734, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1734, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1735: for member in w.participant_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1735, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1735, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1735, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1735, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1736: num_districts = self.district_keys_len[member]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_member); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_num_districts, __pyx_t_8); __pyx_t_8 = 0;
+1737: for irr_district in self.district_keys[member]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_member); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1737, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1737, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1737, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_10(__pyx_t_8); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1737, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1738: irr_district.max_recovery += w.ownership[member]*w.recovery/num_districts
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_recovery); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_ownership); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_member); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recovery); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = PyNumber_Multiply(__pyx_t_12, __pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_v_num_districts); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_recovery, __pyx_t_13) < 0) __PYX_ERR(0, 1738, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
1739: #same for 'in leiu' banks (districts)
+1740: for w in self.leiu_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1740, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1740, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1740, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1740, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1740, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1741: for member in w.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1741, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1741, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1741, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1741, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1742: num_districts = self.district_keys_len[member]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_num_districts, __pyx_t_13); __pyx_t_13 = 0;
+1743: if member != w.key:
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_key); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = PyObject_RichCompare(__pyx_v_member, __pyx_t_13, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 1743, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_14) { /* … */ }
+1744: for irr_district in self.district_keys[member]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) { __pyx_t_1 = __pyx_t_13; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1744, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_13); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1744, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_13); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1744, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1744, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } } else { __pyx_t_13 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_13)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1744, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_13); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1745: irr_district.max_recovery += w.leiu_ownership[member]*w.leiu_recovery/num_districts
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_recovery); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_member); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_recovery); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = PyNumber_Multiply(__pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_v_num_districts); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_recovery, __pyx_t_12) < 0) __PYX_ERR(0, 1745, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
1746:
+1747: def load_pesticide_acreage(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_43load_pesticide_acreage(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_43load_pesticide_acreage = {"load_pesticide_acreage", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_43load_pesticide_acreage, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_43load_pesticide_acreage(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("load_pesticide_acreage (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_42load_pesticide_acreage(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_42load_pesticide_acreage(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_id_dict = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_district_filename = NULL;
PyObject *__pyx_v_pesticide_data = NULL;
PyObject *__pyx_v_data_start_year = NULL;
PyObject *__pyx_v_crop_type = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__42)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("load_pesticide_acreage", 0);
__Pyx_TraceCall("load_pesticide_acreage", __pyx_f[0], 1747, 0, __PYX_ERR(0, 1747, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.load_pesticide_acreage", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_id_dict);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_district_filename);
__Pyx_XDECREF(__pyx_v_pesticide_data);
__Pyx_XDECREF(__pyx_v_data_start_year);
__Pyx_XDECREF(__pyx_v_crop_type);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__110 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_id_dict, __pyx_n_s_x, __pyx_n_s_district_filename, __pyx_n_s_pesticide_data, __pyx_n_s_data_start_year, __pyx_n_s_crop_type, __pyx_n_s_y); if (unlikely(!__pyx_tuple__110)) __PYX_ERR(0, 1747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__110);
__Pyx_GIVEREF(__pyx_tuple__110);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_43load_pesticide_acreage, 0, __pyx_n_s_Model_load_pesticide_acreage, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_load_pesticide_acreage, __pyx_t_2) < 0) __PYX_ERR(0, 1747, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(1, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_load_pesticide_acreage, 1747, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 1747, __pyx_L1_error)
+1748: id_dict = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_id_dict = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1749: id_dict['ALT'] = 'Alta Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_ALT, __pyx_kp_u_Alta_Irrigation_District) < 0)) __PYX_ERR(0, 1749, __pyx_L1_error)
+1750: id_dict['ARV'] = 'Arvin - Edison Water Storage District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_ARV, __pyx_kp_u_Arvin_Edison_Water_Storage_Distr) < 0)) __PYX_ERR(0, 1750, __pyx_L1_error)
+1751: id_dict['BDM'] = 'Berrenda Mesa Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_BDM, __pyx_kp_u_Berrenda_Mesa_Water_District) < 0)) __PYX_ERR(0, 1751, __pyx_L1_error)
+1752: id_dict['BVA'] = 'Buena Vista Water Storage District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_BVA, __pyx_kp_u_Buena_Vista_Water_Storage_Distri) < 0)) __PYX_ERR(0, 1752, __pyx_L1_error)
+1753: id_dict['CWO'] = 'Cawelo Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_CWO, __pyx_kp_u_Cawelo_Water_District) < 0)) __PYX_ERR(0, 1753, __pyx_L1_error)
+1754: id_dict['CNS'] = 'Consolidated Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_CNS, __pyx_kp_u_Consolidated_Irrigation_District) < 0)) __PYX_ERR(0, 1754, __pyx_L1_error)
+1755: id_dict['COR'] = 'Corcoran Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_COR, __pyx_kp_u_Corcoran_Irrigation_District) < 0)) __PYX_ERR(0, 1755, __pyx_L1_error)
+1756: id_dict['DLE'] = 'Delano - Earlimart Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_DLE, __pyx_kp_u_Delano_Earlimart_Irrigation_Dist) < 0)) __PYX_ERR(0, 1756, __pyx_L1_error)
+1757: id_dict['DLR'] = 'Dudley Ridge Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_DLR, __pyx_kp_u_Dudley_Ridge_Water_District) < 0)) __PYX_ERR(0, 1757, __pyx_L1_error)
+1758: id_dict['FRB'] = 'Firebaugh Canal Company'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_FRB, __pyx_kp_u_Firebaugh_Canal_Company) < 0)) __PYX_ERR(0, 1758, __pyx_L1_error)
+1759: id_dict['FRS'] = 'Fresno Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_FRS, __pyx_kp_u_Fresno_Irrigation_District) < 0)) __PYX_ERR(0, 1759, __pyx_L1_error)
+1760: id_dict['JMS'] = 'James Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_JMS, __pyx_kp_u_James_Irrigation_District) < 0)) __PYX_ERR(0, 1760, __pyx_L1_error)
+1761: id_dict['KRT'] = 'Kern - Tulare Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_KRT, __pyx_kp_u_Kern_Tulare_Water_District) < 0)) __PYX_ERR(0, 1761, __pyx_L1_error)
+1762: id_dict['KND'] = 'Kern Delta Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_KND, __pyx_kp_u_Kern_Delta_Water_District) < 0)) __PYX_ERR(0, 1762, __pyx_L1_error)
+1763: id_dict['KRWD'] = 'Kings River Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_KRWD, __pyx_kp_u_Kings_River_Water_District) < 0)) __PYX_ERR(0, 1763, __pyx_L1_error)
+1764: id_dict['LND'] = 'Lindmore Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_LND, __pyx_kp_u_Lindmore_Irrigation_District) < 0)) __PYX_ERR(0, 1764, __pyx_L1_error)
+1765: id_dict['LHL'] = 'Lost Hills Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_LHL, __pyx_kp_u_Lost_Hills_Water_District) < 0)) __PYX_ERR(0, 1765, __pyx_L1_error)
+1766: id_dict['LWT'] = 'Lower Tule River Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_LWT, __pyx_kp_u_Lower_Tule_River_Irrigation_Dist) < 0)) __PYX_ERR(0, 1766, __pyx_L1_error)
+1767: id_dict['NKN'] = 'North Kern Water Storage District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_NKN, __pyx_kp_u_North_Kern_Water_Storage_Distric) < 0)) __PYX_ERR(0, 1767, __pyx_L1_error)
+1768: id_dict['ORC'] = 'Orange Cove Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_ORC, __pyx_kp_u_Orange_Cove_Irrigation_District) < 0)) __PYX_ERR(0, 1768, __pyx_L1_error)
+1769: id_dict['PNC'] = 'Panoche Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_PNC, __pyx_kp_u_Panoche_Water_District) < 0)) __PYX_ERR(0, 1769, __pyx_L1_error)
+1770: id_dict['PIX'] = 'Pixley Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_PIX, __pyx_kp_u_Pixley_Irrigation_District) < 0)) __PYX_ERR(0, 1770, __pyx_L1_error)
+1771: id_dict['RVD'] = 'Riverdale Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_RVD, __pyx_kp_u_Riverdale_Irrigation_District) < 0)) __PYX_ERR(0, 1771, __pyx_L1_error)
+1772: id_dict['SMI'] = 'Semitropic Water Service District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_SMI, __pyx_kp_u_Semitropic_Water_Service_Distric) < 0)) __PYX_ERR(0, 1772, __pyx_L1_error)
+1773: id_dict['SFW'] = 'Shafter - Wasco Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_SFW, __pyx_kp_u_Shafter_Wasco_Irrigation_Distric) < 0)) __PYX_ERR(0, 1773, __pyx_L1_error)
+1774: id_dict['TUL'] = 'Tulare Irrigation District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_TUL, __pyx_kp_u_Tulare_Irrigation_District) < 0)) __PYX_ERR(0, 1774, __pyx_L1_error)
+1775: id_dict['TLB'] = 'Tulare Lake Basin Water Storage District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_TLB, __pyx_kp_u_Tulare_Lake_Basin_Water_Storage) < 0)) __PYX_ERR(0, 1775, __pyx_L1_error)
+1776: id_dict['WSL'] = 'Westlands Water District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_WSL, __pyx_kp_u_Westlands_Water_District) < 0)) __PYX_ERR(0, 1776, __pyx_L1_error)
+1777: id_dict['WRM'] = 'Wheeler Ridge - Maricopa Water Storage District'
if (unlikely(PyDict_SetItem(__pyx_v_id_dict, __pyx_n_u_WRM, __pyx_kp_u_Wheeler_Ridge_Maricopa_Water_Sto) < 0)) __PYX_ERR(0, 1777, __pyx_L1_error)
+1778: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1778, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1778, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1778, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1778, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1779: if x.key in id_dict:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = (__Pyx_PyDict_ContainsTF(__pyx_t_1, __pyx_v_id_dict, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = (__pyx_t_5 != 0); if (__pyx_t_6) { /* … */ }
+1780: x.has_pesticide = 1
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_has_pesticide, __pyx_int_1) < 0) __PYX_ERR(0, 1780, __pyx_L1_error)
+1781: x.acreage_by_year = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_year, __pyx_t_1) < 0) __PYX_ERR(0, 1781, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1782: district_filename = id_dict[x.key]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_id_dict, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_district_filename, __pyx_t_7); __pyx_t_7 = 0;
+1783: pesticide_data = pd.read_csv('calfews_src/data/input/pesticide_acreage/' + district_filename + '.csv', index_col = 0)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_pd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_kp_u_calfews_src_data_input_pesticide, __pyx_v_district_filename); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyNumber_Add(__pyx_t_7, __pyx_kp_u_csv); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 1783, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_pesticide_data, __pyx_t_9); __pyx_t_9 = 0;
+1784: data_start_year = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_data_start_year, __pyx_int_0);
+1785: for crop_type in pesticide_data:
if (likely(PyList_CheckExact(__pyx_v_pesticide_data)) || PyTuple_CheckExact(__pyx_v_pesticide_data)) { __pyx_t_9 = __pyx_v_pesticide_data; __Pyx_INCREF(__pyx_t_9); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_v_pesticide_data); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1785, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_8); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1785, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_8); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1785, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_11(__pyx_t_9); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1785, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_crop_type, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+1786: x.acreage_by_year[crop_type] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_12, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_7); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_crop_type, __pyx_t_8) < 0)) __PYX_ERR(0, 1786, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+1787: for y in range(0, self.number_years):
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1787, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 1787, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 1787, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1787, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1788: x.acreage_by_year[crop_type][y] = pesticide_data[crop_type][y+data_start_year]
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_pesticide_data, __pyx_v_crop_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyNumber_Add(__pyx_v_y, __pyx_v_data_start_year); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_year); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_crop_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_y, __pyx_t_12) < 0)) __PYX_ERR(0, 1788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
1789:
+1790: def load_pmp_model(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_45load_pmp_model(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_45load_pmp_model = {"load_pmp_model", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_45load_pmp_model, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_45load_pmp_model(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("load_pmp_model (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_44load_pmp_model(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_44load_pmp_model(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
CYTHON_UNUSED PyObject *__pyx_v_color_list = NULL;
PyObject *__pyx_v_pmp_coef = NULL;
PyObject *__pyx_v_pmp_coef_list = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_econ_data = NULL;
PyObject *__pyx_v_econ_data_list = NULL;
CYTHON_UNUSED PyObject *__pyx_v_legend_dict = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_district_id = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_land_constraint = NULL;
PyObject *__pyx_v_crop = NULL;
PyObject *__pyx_v_water_constraint_by_source = NULL;
PyObject *__pyx_v_source = NULL;
PyObject *__pyx_v_x0 = NULL;
PyObject *__pyx_v_observed_acreage = NULL;
PyObject *__pyx_v_district_crops = NULL;
PyObject *__pyx_v_i = NULL;
PyObject *__pyx_v_calculated = NULL;
PyObject *__pyx_v_observed = NULL;
PyObject *__pyx_v_total_land = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__43)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("load_pmp_model", 0);
__Pyx_TraceCall("load_pmp_model", __pyx_f[0], 1790, 0, __PYX_ERR(0, 1790, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.load_pmp_model", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_color_list);
__Pyx_XDECREF(__pyx_v_pmp_coef);
__Pyx_XDECREF(__pyx_v_pmp_coef_list);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_econ_data);
__Pyx_XDECREF(__pyx_v_econ_data_list);
__Pyx_XDECREF(__pyx_v_legend_dict);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_district_id);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_land_constraint);
__Pyx_XDECREF(__pyx_v_crop);
__Pyx_XDECREF(__pyx_v_water_constraint_by_source);
__Pyx_XDECREF(__pyx_v_source);
__Pyx_XDECREF(__pyx_v_x0);
__Pyx_XDECREF(__pyx_v_observed_acreage);
__Pyx_XDECREF(__pyx_v_district_crops);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XDECREF(__pyx_v_calculated);
__Pyx_XDECREF(__pyx_v_observed);
__Pyx_XDECREF(__pyx_v_total_land);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__111 = PyTuple_Pack(23, __pyx_n_s_self, __pyx_n_s_color_list, __pyx_n_s_pmp_coef, __pyx_n_s_pmp_coef_list, __pyx_n_s_x, __pyx_n_s_econ_data, __pyx_n_s_econ_data_list, __pyx_n_s_legend_dict, __pyx_n_s_xx, __pyx_n_s_district, __pyx_n_s_district_id, __pyx_n_s_district_object, __pyx_n_s_land_constraint, __pyx_n_s_crop, __pyx_n_s_water_constraint_by_source, __pyx_n_s_source, __pyx_n_s_x0, __pyx_n_s_observed_acreage, __pyx_n_s_district_crops, __pyx_n_s_i, __pyx_n_s_calculated, __pyx_n_s_observed, __pyx_n_s_total_land); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 1790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__111);
__Pyx_GIVEREF(__pyx_tuple__111);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_45load_pmp_model, 0, __pyx_n_s_Model_load_pmp_model, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__43)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_load_pmp_model, __pyx_t_2) < 0) __PYX_ERR(0, 1790, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__43 = (PyObject*)__Pyx_PyCode_New(1, 0, 23, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_load_pmp_model, 1790, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__43)) __PYX_ERR(0, 1790, __pyx_L1_error)
+1791: color_list = ['black', 'gray', 'firebrick', 'red', 'darksalmon', 'sandybrown', 'gold', 'chartreuse', 'seagreen', 'deepskyblue', 'royalblue', 'darkorchid', 'darkcyan', 'crimson', 'fuchsia', 'cyan', 'green', 'yellowgreen', 'coral', 'orange', 'hotpink', 'thistle', 'azure', 'yellow', 'dimgray', 'turquoise', 'navy', 'mediumspringgreen']
__pyx_t_1 = PyList_New(28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_black); __Pyx_GIVEREF(__pyx_n_u_black); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_black); __Pyx_INCREF(__pyx_n_u_gray); __Pyx_GIVEREF(__pyx_n_u_gray); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_gray); __Pyx_INCREF(__pyx_n_u_firebrick); __Pyx_GIVEREF(__pyx_n_u_firebrick); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_firebrick); __Pyx_INCREF(__pyx_n_u_red); __Pyx_GIVEREF(__pyx_n_u_red); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_u_red); __Pyx_INCREF(__pyx_n_u_darksalmon); __Pyx_GIVEREF(__pyx_n_u_darksalmon); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_u_darksalmon); __Pyx_INCREF(__pyx_n_u_sandybrown); __Pyx_GIVEREF(__pyx_n_u_sandybrown); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_u_sandybrown); __Pyx_INCREF(__pyx_n_u_gold); __Pyx_GIVEREF(__pyx_n_u_gold); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_n_u_gold); __Pyx_INCREF(__pyx_n_u_chartreuse); __Pyx_GIVEREF(__pyx_n_u_chartreuse); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_n_u_chartreuse); __Pyx_INCREF(__pyx_n_u_seagreen); __Pyx_GIVEREF(__pyx_n_u_seagreen); PyList_SET_ITEM(__pyx_t_1, 8, __pyx_n_u_seagreen); __Pyx_INCREF(__pyx_n_u_deepskyblue); __Pyx_GIVEREF(__pyx_n_u_deepskyblue); PyList_SET_ITEM(__pyx_t_1, 9, __pyx_n_u_deepskyblue); __Pyx_INCREF(__pyx_n_u_royalblue); __Pyx_GIVEREF(__pyx_n_u_royalblue); PyList_SET_ITEM(__pyx_t_1, 10, __pyx_n_u_royalblue); __Pyx_INCREF(__pyx_n_u_darkorchid); __Pyx_GIVEREF(__pyx_n_u_darkorchid); PyList_SET_ITEM(__pyx_t_1, 11, __pyx_n_u_darkorchid); __Pyx_INCREF(__pyx_n_u_darkcyan); __Pyx_GIVEREF(__pyx_n_u_darkcyan); PyList_SET_ITEM(__pyx_t_1, 12, __pyx_n_u_darkcyan); __Pyx_INCREF(__pyx_n_u_crimson); __Pyx_GIVEREF(__pyx_n_u_crimson); PyList_SET_ITEM(__pyx_t_1, 13, __pyx_n_u_crimson); __Pyx_INCREF(__pyx_n_u_fuchsia); __Pyx_GIVEREF(__pyx_n_u_fuchsia); PyList_SET_ITEM(__pyx_t_1, 14, __pyx_n_u_fuchsia); __Pyx_INCREF(__pyx_n_u_cyan); __Pyx_GIVEREF(__pyx_n_u_cyan); PyList_SET_ITEM(__pyx_t_1, 15, __pyx_n_u_cyan); __Pyx_INCREF(__pyx_n_u_green); __Pyx_GIVEREF(__pyx_n_u_green); PyList_SET_ITEM(__pyx_t_1, 16, __pyx_n_u_green); __Pyx_INCREF(__pyx_n_u_yellowgreen); __Pyx_GIVEREF(__pyx_n_u_yellowgreen); PyList_SET_ITEM(__pyx_t_1, 17, __pyx_n_u_yellowgreen); __Pyx_INCREF(__pyx_n_u_coral); __Pyx_GIVEREF(__pyx_n_u_coral); PyList_SET_ITEM(__pyx_t_1, 18, __pyx_n_u_coral); __Pyx_INCREF(__pyx_n_u_orange); __Pyx_GIVEREF(__pyx_n_u_orange); PyList_SET_ITEM(__pyx_t_1, 19, __pyx_n_u_orange); __Pyx_INCREF(__pyx_n_u_hotpink); __Pyx_GIVEREF(__pyx_n_u_hotpink); PyList_SET_ITEM(__pyx_t_1, 20, __pyx_n_u_hotpink); __Pyx_INCREF(__pyx_n_u_thistle); __Pyx_GIVEREF(__pyx_n_u_thistle); PyList_SET_ITEM(__pyx_t_1, 21, __pyx_n_u_thistle); __Pyx_INCREF(__pyx_n_u_azure); __Pyx_GIVEREF(__pyx_n_u_azure); PyList_SET_ITEM(__pyx_t_1, 22, __pyx_n_u_azure); __Pyx_INCREF(__pyx_n_u_yellow); __Pyx_GIVEREF(__pyx_n_u_yellow); PyList_SET_ITEM(__pyx_t_1, 23, __pyx_n_u_yellow); __Pyx_INCREF(__pyx_n_u_dimgray); __Pyx_GIVEREF(__pyx_n_u_dimgray); PyList_SET_ITEM(__pyx_t_1, 24, __pyx_n_u_dimgray); __Pyx_INCREF(__pyx_n_u_turquoise); __Pyx_GIVEREF(__pyx_n_u_turquoise); PyList_SET_ITEM(__pyx_t_1, 25, __pyx_n_u_turquoise); __Pyx_INCREF(__pyx_n_u_navy); __Pyx_GIVEREF(__pyx_n_u_navy); PyList_SET_ITEM(__pyx_t_1, 26, __pyx_n_u_navy); __Pyx_INCREF(__pyx_n_u_mediumspringgreen); __Pyx_GIVEREF(__pyx_n_u_mediumspringgreen); PyList_SET_ITEM(__pyx_t_1, 27, __pyx_n_u_mediumspringgreen); __pyx_v_color_list = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
1792:
+1793: pmp_coef = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_pmp_coef = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1794: pmp_coef_list = ['TAU', 'GAMMA', 'ETA', 'DELTA', 'BETA', 'LEONTIEF', 'INPUTS', 'REV']
__pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_TAU); __Pyx_GIVEREF(__pyx_n_u_TAU); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_TAU); __Pyx_INCREF(__pyx_n_u_GAMMA); __Pyx_GIVEREF(__pyx_n_u_GAMMA); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_GAMMA); __Pyx_INCREF(__pyx_n_u_ETA); __Pyx_GIVEREF(__pyx_n_u_ETA); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_ETA); __Pyx_INCREF(__pyx_n_u_DELTA); __Pyx_GIVEREF(__pyx_n_u_DELTA); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_u_DELTA); __Pyx_INCREF(__pyx_n_u_BETA); __Pyx_GIVEREF(__pyx_n_u_BETA); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_u_BETA); __Pyx_INCREF(__pyx_n_u_LEONTIEF); __Pyx_GIVEREF(__pyx_n_u_LEONTIEF); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_u_LEONTIEF); __Pyx_INCREF(__pyx_n_u_INPUTS); __Pyx_GIVEREF(__pyx_n_u_INPUTS); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_n_u_INPUTS); __Pyx_INCREF(__pyx_n_u_REV); __Pyx_GIVEREF(__pyx_n_u_REV); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_n_u_REV); __pyx_v_pmp_coef_list = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1795: for x in pmp_coef_list:
__pyx_t_1 = __pyx_v_pmp_coef_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1795, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1796: pmp_coef[x] = pd.read_csv('calfews_src/data/input/pmp_modelling/BASE' + x + '.csv', index_col = None)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_kp_u_calfews_src_data_input_pmp_model, __pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_kp_u_csv); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_index_col, Py_None) < 0) __PYX_ERR(0, 1796, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyDict_SetItem(__pyx_v_pmp_coef, __pyx_v_x, __pyx_t_6) < 0)) __PYX_ERR(0, 1796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
1797:
+1798: econ_data = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_econ_data = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1799: econ_data_list = ['PRICE', 'WSOU', 'WCST', 'LANDCOST', 'LABOR', 'SUPPL']
__pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_PRICE); __Pyx_GIVEREF(__pyx_n_u_PRICE); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_PRICE); __Pyx_INCREF(__pyx_n_u_WSOU); __Pyx_GIVEREF(__pyx_n_u_WSOU); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_WSOU); __Pyx_INCREF(__pyx_n_u_WCST); __Pyx_GIVEREF(__pyx_n_u_WCST); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_WCST); __Pyx_INCREF(__pyx_n_u_LANDCOST); __Pyx_GIVEREF(__pyx_n_u_LANDCOST); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_u_LANDCOST); __Pyx_INCREF(__pyx_n_u_LABOR); __Pyx_GIVEREF(__pyx_n_u_LABOR); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_n_u_LABOR); __Pyx_INCREF(__pyx_n_u_SUPPL); __Pyx_GIVEREF(__pyx_n_u_SUPPL); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_n_u_SUPPL); __pyx_v_econ_data_list = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1800: for x in econ_data_list:
__pyx_t_1 = __pyx_v_econ_data_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_6); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1800, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1801: econ_data[x] = pd.read_excel('calfews_src/data/input/pmp_modelling/Aligned_OAE_Kern_V05.xlsx', sheet_name = x, index_col = None)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_pd); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_read_excel); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_sheet_name, __pyx_v_x) < 0) __PYX_ERR(0, 1801, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_index_col, Py_None) < 0) __PYX_ERR(0, 1801, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__44, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyDict_SetItem(__pyx_v_econ_data, __pyx_v_x, __pyx_t_3) < 0)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__44 = PyTuple_Pack(1, __pyx_kp_u_calfews_src_data_input_pmp_model_2); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(0, 1801, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__44); __Pyx_GIVEREF(__pyx_tuple__44);
1802:
+1803: self.district_codes = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_district_codes, __pyx_t_1) < 0) __PYX_ERR(0, 1803, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1804: self.district_codes['D02'] = 'KND'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D02, __pyx_n_u_KND) < 0)) __PYX_ERR(0, 1804, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1805: self.district_codes['D03'] = 'WRM'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D03, __pyx_n_u_WRM) < 0)) __PYX_ERR(0, 1805, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1806: self.district_codes['D04'] = 'WKN'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D04, __pyx_n_u_WKN) < 0)) __PYX_ERR(0, 1806, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1807: self.district_codes['D05'] = 'BDM'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D05, __pyx_n_u_BDM) < 0)) __PYX_ERR(0, 1807, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1808: self.district_codes['D06'] = 'SMI'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D06, __pyx_n_u_SMI) < 0)) __PYX_ERR(0, 1808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1809: self.district_codes['D07'] = 'RRB'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D07, __pyx_n_u_RRB) < 0)) __PYX_ERR(0, 1809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1810: self.district_codes['D08'] = 'BVA'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D08, __pyx_n_u_BVA) < 0)) __PYX_ERR(0, 1810, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1811: self.district_codes['D09'] = 'CWO'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D09, __pyx_n_u_CWO) < 0)) __PYX_ERR(0, 1811, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1812: self.district_codes['D10'] = 'HML'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1812, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D10, __pyx_n_u_HML) < 0)) __PYX_ERR(0, 1812, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1813: self.district_codes['D11'] = 'LHL'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_D11, __pyx_n_u_LHL) < 0)) __PYX_ERR(0, 1813, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1814: self.district_codes['fk01'] = 'DLE'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1814, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk01, __pyx_n_u_DLE) < 0)) __PYX_ERR(0, 1814, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1815: self.district_codes['fk02'] = 'EXE'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk02, __pyx_n_u_EXE) < 0)) __PYX_ERR(0, 1815, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1816: self.district_codes['fk03'] = 'KRT'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk03, __pyx_n_u_KRT) < 0)) __PYX_ERR(0, 1816, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1817: self.district_codes['fk04'] = 'LND'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk04, __pyx_n_u_LND) < 0)) __PYX_ERR(0, 1817, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1818: self.district_codes['fk05'] = 'LDS'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk05, __pyx_n_u_LDS) < 0)) __PYX_ERR(0, 1818, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1819: self.district_codes['fk06'] = 'LWT'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk06, __pyx_n_u_LWT) < 0)) __PYX_ERR(0, 1819, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1820: self.district_codes['fk07'] = 'PRT'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk07, __pyx_n_u_PRT) < 0)) __PYX_ERR(0, 1820, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1821: self.district_codes['fk08'] = 'SAU'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk08, __pyx_n_u_SAU) < 0)) __PYX_ERR(0, 1821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1822: self.district_codes['fk09'] = 'SFW'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk09, __pyx_n_u_SFW) < 0)) __PYX_ERR(0, 1822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1823: self.district_codes['fk10'] = 'SSJ'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk10, __pyx_n_u_SSJ) < 0)) __PYX_ERR(0, 1823, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1824: self.district_codes['fk11'] = 'TPD'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk11, __pyx_n_u_TPD) < 0)) __PYX_ERR(0, 1824, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1825: self.district_codes['fk12'] = 'TBA'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk12, __pyx_n_u_TBA) < 0)) __PYX_ERR(0, 1825, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1826: self.district_codes['fk13'] = 'TLR'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk13, __pyx_n_u_TLR) < 0)) __PYX_ERR(0, 1826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1827: self.district_codes['fk14'] = 'VAN'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_fk14, __pyx_n_u_VAN) < 0)) __PYX_ERR(0, 1827, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1828: self.district_codes['ot1'] = 'DLR'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_ot1, __pyx_n_u_DLR) < 0)) __PYX_ERR(0, 1828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1829: self.district_codes['ot2'] = 'NKN'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_ot2, __pyx_n_u_NKN) < 0)) __PYX_ERR(0, 1829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1830: self.district_codes['ot3'] = 'OLC'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_ot3, __pyx_n_u_OLC) < 0)) __PYX_ERR(0, 1830, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1831:
+1832: self.source_codes = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_source_codes, __pyx_t_1) < 0) __PYX_ERR(0, 1832, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1833: self.source_codes['SWP'] = ['tableA',]
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_tableA); __Pyx_GIVEREF(__pyx_n_u_tableA); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_tableA); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_SWP, __pyx_t_1) < 0)) __PYX_ERR(0, 1833, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1834: self.source_codes['CVP'] = ['cvpdelta',]
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_cvpdelta); __Pyx_GIVEREF(__pyx_n_u_cvpdelta); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_cvpdelta); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1834, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_CVP, __pyx_t_1) < 0)) __PYX_ERR(0, 1834, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1835: self.source_codes['CLASS1'] = ['friant1',]
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_friant1); __Pyx_GIVEREF(__pyx_n_u_friant1); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_friant1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1835, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_CLASS1, __pyx_t_1) < 0)) __PYX_ERR(0, 1835, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1836: self.source_codes['CLASS2'] = ['friant2',]
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_friant2); __Pyx_GIVEREF(__pyx_n_u_friant2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_friant2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1836, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_CLASS2, __pyx_t_1) < 0)) __PYX_ERR(0, 1836, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1837: self.source_codes['LDIV'] = ['kern', 'kings', 'tule', 'kaweah']
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_u_kern); __Pyx_GIVEREF(__pyx_n_u_kern); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_u_kern); __Pyx_INCREF(__pyx_n_u_kings); __Pyx_GIVEREF(__pyx_n_u_kings); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_u_kings); __Pyx_INCREF(__pyx_n_u_tule); __Pyx_GIVEREF(__pyx_n_u_tule); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_u_tule); __Pyx_INCREF(__pyx_n_u_kaweah); __Pyx_GIVEREF(__pyx_n_u_kaweah); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_u_kaweah); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_LDIV, __pyx_t_1) < 0)) __PYX_ERR(0, 1837, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1838: legend_dict = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_legend_dict = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+1839: xx = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_xx = __pyx_int_0;
+1840: for district in self.district_codes:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = 0; __pyx_t_7 = NULL; } else { __pyx_t_2 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1840, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1840, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 1840, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1840, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1841: district_id = self.district_codes[district]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_codes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1841, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_district); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1841, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_district_id, __pyx_t_6); __pyx_t_6 = 0;
+1842: if district_id in self.district_keys:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = (__Pyx_PySequence_ContainsTF(__pyx_v_district_id, __pyx_t_6, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1842, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_9 = (__pyx_t_8 != 0); if (__pyx_t_9) { /* … */ }
+1843: district_object = self.district_keys[district_id]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_district_id); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_1); __pyx_t_1 = 0;
+1844: district_object.has_pmp = 1
if (__Pyx_PyObject_SetAttrStr(__pyx_v_district_object, __pyx_n_s_has_pmp, __pyx_int_1) < 0) __PYX_ERR(0, 1844, __pyx_L1_error)
+1845: district_object.irrdemand.set_pmp_parameters(pmp_coef, district)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_set_pmp_parameters); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_pmp_coef, __pyx_v_district}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_pmp_coef, __pyx_v_district}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_pmp_coef); __Pyx_GIVEREF(__pyx_v_pmp_coef); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_10, __pyx_v_pmp_coef); __Pyx_INCREF(__pyx_v_district); __Pyx_GIVEREF(__pyx_v_district); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_10, __pyx_v_district); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1846: district_object.irrdemand.make_crop_list()
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_make_crop_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1847: district_object.irrdemand.set_econ_parameters(econ_data, district)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_set_econ_parameters); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_econ_data, __pyx_v_district}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_econ_data, __pyx_v_district}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_6 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_econ_data); __Pyx_GIVEREF(__pyx_v_econ_data); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_10, __pyx_v_econ_data); __Pyx_INCREF(__pyx_v_district); __Pyx_GIVEREF(__pyx_v_district); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_10, __pyx_v_district); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1848: district_object.total_water_base = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_district_object, __pyx_n_s_total_water_base, __pyx_float_0_0) < 0) __PYX_ERR(0, 1848, __pyx_L1_error)
+1849: land_constraint = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_land_constraint, __pyx_float_0_0);
+1850: for crop in district_object.irrdemand.crop_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1850, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1850, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1850, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1850, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_crop, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1851: district_object.total_water_base += district_object.irrdemand.baseline_inputs['WATER'][crop]##base case water inputs to validate pmp model - within timestep use self.source_codes to get contracts
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_total_water_base); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_baseline_inputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_WATER); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_crop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_district_object, __pyx_n_s_total_water_base, __pyx_t_6) < 0) __PYX_ERR(0, 1851, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+1852: land_constraint += district_object.irrdemand.baseline_inputs['LAND'][crop]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_baseline_inputs); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_LAND); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_crop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_land_constraint, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_land_constraint, __pyx_t_6); __pyx_t_6 = 0;
+1853: water_constraint_by_source = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_water_constraint_by_source, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+1854: for source in district_object.irrdemand.water_source_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_water_source_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1854, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1854, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1854, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1854, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1854, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_source, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1855: water_constraint_by_source[source] = district_object.irrdemand.econ_factors[source]*district_object.total_water_base
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_econ_factors); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_source); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_total_water_base); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyNumber_Multiply(__pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_water_constraint_by_source, __pyx_v_source, __pyx_t_5) < 0)) __PYX_ERR(0, 1855, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
1856:
+1857: x0 = np.zeros(len(district_object.irrdemand.crop_list))
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_11 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_x0, __pyx_t_1); __pyx_t_1 = 0;
+1858: district_object.set_pmp_acreage(water_constraint_by_source, land_constraint, x0)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_set_pmp_acreage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_water_constraint_by_source, __pyx_v_land_constraint, __pyx_v_x0}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1858, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_water_constraint_by_source, __pyx_v_land_constraint, __pyx_v_x0}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1858, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_water_constraint_by_source); __Pyx_GIVEREF(__pyx_v_water_constraint_by_source); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_10, __pyx_v_water_constraint_by_source); __Pyx_INCREF(__pyx_v_land_constraint); __Pyx_GIVEREF(__pyx_v_land_constraint); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_10, __pyx_v_land_constraint); __Pyx_INCREF(__pyx_v_x0); __Pyx_GIVEREF(__pyx_v_x0); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_10, __pyx_v_x0); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1859: observed_acreage = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_observed_acreage, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+1860: for crop in district_object.irrdemand.crop_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1860, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1860, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 1860, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1860, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_crop, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1861: district_crops = district_object.irrdemand.crop_keys[crop]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_crop_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_crop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_district_crops, __pyx_t_4); __pyx_t_4 = 0;
+1862: if district_crops in observed_acreage:
__pyx_t_9 = (__Pyx_PyDict_ContainsTF(__pyx_v_district_crops, __pyx_v_observed_acreage, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 1862, __pyx_L1_error) __pyx_t_8 = (__pyx_t_9 != 0); if (__pyx_t_8) { /* … */ goto __pyx_L16; }
+1863: observed_acreage[district_crops] += district_object.irrdemand.baseline_inputs['LAND'][crop]
__Pyx_INCREF(__pyx_v_district_crops); __pyx_t_4 = __pyx_v_district_crops; __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_observed_acreage, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_baseline_inputs); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_13, __pyx_n_u_LAND); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_crop); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(PyDict_SetItem(__pyx_v_observed_acreage, __pyx_t_4, __pyx_t_6) < 0)) __PYX_ERR(0, 1863, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1864: else:
+1865: observed_acreage[district_crops] = district_object.irrdemand.baseline_inputs['LAND'][crop]
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_baseline_inputs); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_LAND); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_crop); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1865, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_observed_acreage, __pyx_v_district_crops, __pyx_t_6) < 0)) __PYX_ERR(0, 1865, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_L16:;
+1866: i = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_i, __pyx_int_0);
+1867: calculated = np.zeros(len(observed_acreage))
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_11 = PyDict_Size(__pyx_v_observed_acreage); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1867, __pyx_L1_error) __pyx_t_6 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_calculated, __pyx_t_1); __pyx_t_1 = 0;
+1868: observed = np.zeros(len(observed_acreage))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = PyDict_Size(__pyx_v_observed_acreage); if (unlikely(__pyx_t_11 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1868, __pyx_L1_error) __pyx_t_4 = PyInt_FromSsize_t(__pyx_t_11); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_13, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_4); __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_observed, __pyx_t_1); __pyx_t_1 = 0;
+1869: total_land = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_land, __pyx_float_0_0);
+1870: for crop in observed_acreage:
__pyx_t_11 = 0;
__pyx_t_6 = __Pyx_dict_iterator(__pyx_v_observed_acreage, 1, ((PyObject *)NULL), (&__pyx_t_14), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1870, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_6;
__pyx_t_6 = 0;
while (1) {
__pyx_t_15 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_14, &__pyx_t_11, &__pyx_t_6, NULL, NULL, __pyx_t_10);
if (unlikely(__pyx_t_15 == 0)) break;
if (unlikely(__pyx_t_15 == -1)) __PYX_ERR(0, 1870, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_crop, __pyx_t_6);
__pyx_t_6 = 0;
+1871: calculated[i] = district_object.pmp_acreage[crop]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pmp_acreage); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_crop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_v_calculated, __pyx_v_i, __pyx_t_4) < 0)) __PYX_ERR(0, 1871, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1872: observed[i] = observed_acreage[crop]
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_observed_acreage, __pyx_v_crop); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_v_observed, __pyx_v_i, __pyx_t_4) < 0)) __PYX_ERR(0, 1872, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1873: total_land += calculated[i]
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_calculated, __pyx_v_i); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1873, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_total_land, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1873, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_total_land, __pyx_t_6); __pyx_t_6 = 0;
+1874: i += 1
__pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_i, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1874, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
1875:
1876: #legend_dict[district] = plt.plot(calculated, observed, 'o', color = color_list[xx])
+1877: xx += 1
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_xx, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0;
1878: #legend_obj = tuple([legend_dict[e] for e in legend_dict])
1879: #legend_names = tuple([self.district_codes[e] for e in legend_dict])
1880: #plt.xlabel('Calculated Acreage')
1881: #plt.ylabel('Observed Acreage')
1882: #plt.legend(legend_names)
1883: #plt.show()
1884: #plt.close()
1885:
1886:
1887:
+1888: def project_urban(self, datafile, datafile_cvp, datafile_pumping):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_47project_urban(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_47project_urban = {"project_urban", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_47project_urban, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_47project_urban(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_datafile = 0;
PyObject *__pyx_v_datafile_cvp = 0;
PyObject *__pyx_v_datafile_pumping = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("project_urban (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_datafile,&__pyx_n_s_datafile_cvp,&__pyx_n_s_datafile_pumping,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_datafile)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban", 1, 4, 4, 1); __PYX_ERR(0, 1888, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_datafile_cvp)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban", 1, 4, 4, 2); __PYX_ERR(0, 1888, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_datafile_pumping)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban", 1, 4, 4, 3); __PYX_ERR(0, 1888, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "project_urban") < 0)) __PYX_ERR(0, 1888, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_datafile = values[1];
__pyx_v_datafile_cvp = values[2];
__pyx_v_datafile_pumping = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("project_urban", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1888, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.project_urban", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_46project_urban(__pyx_self, __pyx_v_self, __pyx_v_datafile, __pyx_v_datafile_cvp, __pyx_v_datafile_pumping);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_46project_urban(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_datafile, PyObject *__pyx_v_datafile_cvp, PyObject *__pyx_v_datafile_pumping) {
PyObject *__pyx_v_df_urban = NULL;
PyObject *__pyx_v_simulation_dates = NULL;
PyObject *__pyx_v_urban_dates = NULL;
PyObject *__pyx_v_start_date = NULL;
PyObject *__pyx_v_end_date = NULL;
PyObject *__pyx_v_date_mask = NULL;
PyObject *__pyx_v_df_urban_monthly_cvp = NULL;
PyObject *__pyx_v_df_pumping_prediction_control = NULL;
PyObject *__pyx_v_index_urban = NULL;
PyObject *__pyx_v_urban_historical_T = NULL;
PyObject *__pyx_v_index_urban_d = NULL;
PyObject *__pyx_v_index_urban_m = NULL;
PyObject *__pyx_v_index_urban_y = NULL;
PyObject *__pyx_v_index_urban_dowy = NULL;
PyObject *__pyx_v_urban_startYear = NULL;
PyObject *__pyx_v_urban_start_regression_year = NULL;
PyObject *__pyx_v_urban_start_regression = NULL;
PyObject *__pyx_v_index_urban_water_year = NULL;
PyObject *__pyx_v_numYears_urban = NULL;
PyObject *__pyx_v_urban_list = NULL;
PyObject *__pyx_v_SRI_forecast = NULL;
PyObject *__pyx_v_regression_annual_hro = NULL;
PyObject *__pyx_v_regression_annual_trp = NULL;
PyObject *__pyx_v_regression_percent = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_sim_y = NULL;
PyObject *__pyx_v_sim_m = NULL;
PyObject *__pyx_v_sim_d = NULL;
long __pyx_v_start_counter;
PyObject *__pyx_v_sri_regression = NULL;
PyObject *__pyx_v_simt = NULL;
PyObject *__pyx_v_urban_leap = NULL;
PyObject *__pyx_v_urban_year_list = NULL;
PyObject *__pyx_v_urban_days_in_month = NULL;
PyObject *__pyx_v_hist_pumping = NULL;
PyObject *__pyx_v_regression_annual = NULL;
PyObject *__pyx_v_m = NULL;
PyObject *__pyx_v_wateryear = NULL;
PyObject *__pyx_v_year_index = NULL;
PyObject *__pyx_v_t = NULL;
PyObject *__pyx_v_metropolitan_demand = NULL;
PyObject *__pyx_v_metropolitan_adjust = NULL;
PyObject *__pyx_v_districts = NULL;
PyObject *__pyx_v_recalc_pumping = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_year_counter = NULL;
Py_ssize_t __pyx_v_pumping_counter;
PyObject *__pyx_v_real_ratio = NULL;
Py_ssize_t __pyx_v_pump_counter;
PyObject *__pyx_v_dowy = NULL;
PyObject *__pyx_v_sri_forecast_dowy = NULL;
PyObject *__pyx_v_pumping_forecast_dowy = NULL;
PyObject *__pyx_v_pumping_forecast_timeseries = NULL;
PyObject *__pyx_v_regression_errors = NULL;
PyObject *__pyx_v_regression_errors_timeseries = NULL;
PyObject *__pyx_v_counter1 = NULL;
PyObject *__pyx_v_fig = NULL;
PyObject *__pyx_v_error_changes = NULL;
PyObject *__pyx_v_pumping_changes = NULL;
PyObject *__pyx_v_wateryear_day = NULL;
PyObject *__pyx_v_coef = NULL;
PyObject *__pyx_v_sri = NULL;
PyObject *__pyx_v_percent = NULL;
PyObject *__pyx_v_ax1 = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_wateryear_count = NULL;
double __pyx_v_pumping_forecast_min;
double __pyx_v_pumping_forecast_max;
PyObject *__pyx_v_day_error_changes = NULL;
PyObject *__pyx_v_day_pumping_changes = NULL;
PyObject *__pyx_v_np_list_1_logi = NULL;
PyObject *__pyx_v_day_error_cleaned = NULL;
PyObject *__pyx_v_day_pumping_cleaned = NULL;
PyObject *__pyx_v_y = NULL;
CYTHON_UNUSED PyObject *__pyx_v_r = NULL;
PyObject *__pyx_v_ytd_pumping_int = NULL;
PyObject *__pyx_v_predicted_annual_demand = NULL;
CYTHON_UNUSED PyObject *__pyx_9genexpr11__pyx_v__ = NULL;
CYTHON_UNUSED PyObject *__pyx_9genexpr12__pyx_v__ = NULL;
PyObject *__pyx_9genexpr13__pyx_v__ = NULL;
CYTHON_UNUSED PyObject *__pyx_9genexpr14__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__45)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("project_urban", 0);
__Pyx_TraceCall("project_urban", __pyx_f[0], 1888, 0, __PYX_ERR(0, 1888, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.project_urban", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_df_urban);
__Pyx_XDECREF(__pyx_v_simulation_dates);
__Pyx_XDECREF(__pyx_v_urban_dates);
__Pyx_XDECREF(__pyx_v_start_date);
__Pyx_XDECREF(__pyx_v_end_date);
__Pyx_XDECREF(__pyx_v_date_mask);
__Pyx_XDECREF(__pyx_v_df_urban_monthly_cvp);
__Pyx_XDECREF(__pyx_v_df_pumping_prediction_control);
__Pyx_XDECREF(__pyx_v_index_urban);
__Pyx_XDECREF(__pyx_v_urban_historical_T);
__Pyx_XDECREF(__pyx_v_index_urban_d);
__Pyx_XDECREF(__pyx_v_index_urban_m);
__Pyx_XDECREF(__pyx_v_index_urban_y);
__Pyx_XDECREF(__pyx_v_index_urban_dowy);
__Pyx_XDECREF(__pyx_v_urban_startYear);
__Pyx_XDECREF(__pyx_v_urban_start_regression_year);
__Pyx_XDECREF(__pyx_v_urban_start_regression);
__Pyx_XDECREF(__pyx_v_index_urban_water_year);
__Pyx_XDECREF(__pyx_v_numYears_urban);
__Pyx_XDECREF(__pyx_v_urban_list);
__Pyx_XDECREF(__pyx_v_SRI_forecast);
__Pyx_XDECREF(__pyx_v_regression_annual_hro);
__Pyx_XDECREF(__pyx_v_regression_annual_trp);
__Pyx_XDECREF(__pyx_v_regression_percent);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_sim_y);
__Pyx_XDECREF(__pyx_v_sim_m);
__Pyx_XDECREF(__pyx_v_sim_d);
__Pyx_XDECREF(__pyx_v_sri_regression);
__Pyx_XDECREF(__pyx_v_simt);
__Pyx_XDECREF(__pyx_v_urban_leap);
__Pyx_XDECREF(__pyx_v_urban_year_list);
__Pyx_XDECREF(__pyx_v_urban_days_in_month);
__Pyx_XDECREF(__pyx_v_hist_pumping);
__Pyx_XDECREF(__pyx_v_regression_annual);
__Pyx_XDECREF(__pyx_v_m);
__Pyx_XDECREF(__pyx_v_wateryear);
__Pyx_XDECREF(__pyx_v_year_index);
__Pyx_XDECREF(__pyx_v_t);
__Pyx_XDECREF(__pyx_v_metropolitan_demand);
__Pyx_XDECREF(__pyx_v_metropolitan_adjust);
__Pyx_XDECREF(__pyx_v_districts);
__Pyx_XDECREF(__pyx_v_recalc_pumping);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_year_counter);
__Pyx_XDECREF(__pyx_v_real_ratio);
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_sri_forecast_dowy);
__Pyx_XDECREF(__pyx_v_pumping_forecast_dowy);
__Pyx_XDECREF(__pyx_v_pumping_forecast_timeseries);
__Pyx_XDECREF(__pyx_v_regression_errors);
__Pyx_XDECREF(__pyx_v_regression_errors_timeseries);
__Pyx_XDECREF(__pyx_v_counter1);
__Pyx_XDECREF(__pyx_v_fig);
__Pyx_XDECREF(__pyx_v_error_changes);
__Pyx_XDECREF(__pyx_v_pumping_changes);
__Pyx_XDECREF(__pyx_v_wateryear_day);
__Pyx_XDECREF(__pyx_v_coef);
__Pyx_XDECREF(__pyx_v_sri);
__Pyx_XDECREF(__pyx_v_percent);
__Pyx_XDECREF(__pyx_v_ax1);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_wateryear_count);
__Pyx_XDECREF(__pyx_v_day_error_changes);
__Pyx_XDECREF(__pyx_v_day_pumping_changes);
__Pyx_XDECREF(__pyx_v_np_list_1_logi);
__Pyx_XDECREF(__pyx_v_day_error_cleaned);
__Pyx_XDECREF(__pyx_v_day_pumping_cleaned);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XDECREF(__pyx_v_ytd_pumping_int);
__Pyx_XDECREF(__pyx_v_predicted_annual_demand);
__Pyx_XDECREF(__pyx_9genexpr11__pyx_v__);
__Pyx_XDECREF(__pyx_9genexpr12__pyx_v__);
__Pyx_XDECREF(__pyx_9genexpr13__pyx_v__);
__Pyx_XDECREF(__pyx_9genexpr14__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__112 = PyTuple_Pack(86, __pyx_n_s_self, __pyx_n_s_datafile, __pyx_n_s_datafile_cvp, __pyx_n_s_datafile_pumping, __pyx_n_s_df_urban, __pyx_n_s_simulation_dates, __pyx_n_s_urban_dates, __pyx_n_s_start_date, __pyx_n_s_end_date, __pyx_n_s_date_mask, __pyx_n_s_df_urban_monthly_cvp, __pyx_n_s_df_pumping_prediction_control, __pyx_n_s_index_urban, __pyx_n_s_urban_historical_T, __pyx_n_s_index_urban_d, __pyx_n_s_index_urban_m, __pyx_n_s_index_urban_y, __pyx_n_s_index_urban_dowy, __pyx_n_s_urban_startYear, __pyx_n_s_urban_start_regression_year, __pyx_n_s_urban_start_regression, __pyx_n_s_index_urban_water_year, __pyx_n_s_numYears_urban, __pyx_n_s_urban_list, __pyx_n_s_SRI_forecast, __pyx_n_s_regression_annual_hro, __pyx_n_s_regression_annual_trp, __pyx_n_s_regression_percent, __pyx_n_s_x, __pyx_n_s_xx, __pyx_n_s_sim_y, __pyx_n_s_sim_m, __pyx_n_s_sim_d, __pyx_n_s_start_counter, __pyx_n_s_sri_regression, __pyx_n_s_simt, __pyx_n_s_urban_leap, __pyx_n_s_urban_year_list, __pyx_n_s_urban_days_in_month, __pyx_n_s_hist_pumping, __pyx_n_s_regression_annual, __pyx_n_s_m, __pyx_n_s_wateryear, __pyx_n_s_year_index, __pyx_n_s_t, __pyx_n_s_metropolitan_demand, __pyx_n_s_metropolitan_adjust, __pyx_n_s_districts, __pyx_n_s_recalc_pumping, __pyx_n_s_district_object, __pyx_n_s_year_counter, __pyx_n_s_pumping_counter, __pyx_n_s_real_ratio, __pyx_n_s_pump_counter, __pyx_n_s_dowy, __pyx_n_s_sri_forecast_dowy, __pyx_n_s_pumping_forecast_dowy, __pyx_n_s_pumping_forecast_timeseries, __pyx_n_s_regression_errors, __pyx_n_s_regression_errors_timeseries, __pyx_n_s_counter1, __pyx_n_s_fig, __pyx_n_s_error_changes, __pyx_n_s_pumping_changes, __pyx_n_s_wateryear_day, __pyx_n_s_coef, __pyx_n_s_sri, __pyx_n_s_percent, __pyx_n_s_ax1, __pyx_n_s_yy, __pyx_n_s_wateryear_count, __pyx_n_s_pumping_forecast_min, __pyx_n_s_pumping_forecast_max, __pyx_n_s_day_error_changes, __pyx_n_s_day_pumping_changes, __pyx_n_s_np_list_1_logi, __pyx_n_s_day_error_cleaned, __pyx_n_s_day_pumping_cleaned, __pyx_n_s_y, __pyx_n_s_r, __pyx_n_s_ytd_pumping_int, __pyx_n_s_predicted_annual_demand, __pyx_n_s__12, __pyx_n_s__12, __pyx_n_s__12, __pyx_n_s__12); if (unlikely(!__pyx_tuple__112)) __PYX_ERR(0, 1888, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__112);
__Pyx_GIVEREF(__pyx_tuple__112);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_47project_urban, 0, __pyx_n_s_Model_project_urban, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1888, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_project_urban, __pyx_t_2) < 0) __PYX_ERR(0, 1888, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(4, 0, 86, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_project_urban, 1888, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 1888, __pyx_L1_error)
1889: #########################################################################################
1890: ###initializes variables needed for district objects that are pumping plants on branches
1891: ###of the california aqueduct (southern california, central coast, and the south bay)
1892: #########################################################################################
1893:
1894: ##This function finds linear regression coefficients between urban CA AQ branch pumpning and delta pumping
1895: ##to predict water use in southbay, centralcoast, and socal district objects
1896: ##NOTE!!! More detailed MWD/Southern Cal demand data would improve the model
+1897: df_urban = pd.read_csv(datafile, index_col=0, parse_dates=True)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_datafile); __Pyx_GIVEREF(__pyx_v_datafile); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_datafile); __pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 1897, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_parse_dates, Py_True) < 0) __PYX_ERR(0, 1897, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1897, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_df_urban = __pyx_t_4; __pyx_t_4 = 0;
+1898: if self.model_mode == 'validation':
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1898, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1898, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ }
+1899: simulation_dates = pd.to_datetime(self.index)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_pd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_to_datetime); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1899, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_simulation_dates = __pyx_t_4; __pyx_t_4 = 0;
+1900: urban_dates = pd.to_datetime(df_urban.index)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_to_datetime); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_df_urban, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_urban_dates = __pyx_t_4; __pyx_t_4 = 0;
+1901: start_date = simulation_dates[0]
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_simulation_dates, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_start_date = __pyx_t_4; __pyx_t_4 = 0;
+1902: end_date = simulation_dates[-1]
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_simulation_dates, -1L, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_end_date = __pyx_t_4; __pyx_t_4 = 0;
+1903: date_mask = (urban_dates >= start_date) & (urban_dates <= end_date)
__pyx_t_4 = PyObject_RichCompare(__pyx_v_urban_dates, __pyx_v_start_date, Py_GE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1903, __pyx_L1_error) __pyx_t_3 = PyObject_RichCompare(__pyx_v_urban_dates, __pyx_v_end_date, Py_LE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1903, __pyx_L1_error) __pyx_t_1 = PyNumber_And(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_date_mask = __pyx_t_1; __pyx_t_1 = 0;
+1904: df_urban = df_urban[date_mask]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_df_urban, __pyx_v_date_mask); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_df_urban, __pyx_t_1); __pyx_t_1 = 0;
1905:
+1906: df_urban_monthly_cvp = pd.read_csv(datafile_cvp, index_col=0, parse_dates=True)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_pd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_datafile_cvp); __Pyx_GIVEREF(__pyx_v_datafile_cvp); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_datafile_cvp); __pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 1906, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_parse_dates, Py_True) < 0) __PYX_ERR(0, 1906, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_df_urban_monthly_cvp = __pyx_t_2; __pyx_t_2 = 0;
+1907: df_pumping_prediction_control = pd.read_csv(datafile_pumping, index_col=0, parse_dates=True)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_pd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_read_csv); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_datafile_pumping); __Pyx_GIVEREF(__pyx_v_datafile_pumping); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_datafile_pumping); __pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_index_col, __pyx_int_0) < 0) __PYX_ERR(0, 1907, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_parse_dates, Py_True) < 0) __PYX_ERR(0, 1907, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_df_pumping_prediction_control = __pyx_t_3; __pyx_t_3 = 0;
+1908: index_urban = df_urban.index
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_df_urban, __pyx_n_s_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_index_urban = __pyx_t_3; __pyx_t_3 = 0;
+1909: urban_historical_T = len(df_urban)
__pyx_t_6 = PyObject_Length(__pyx_v_df_urban); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1909, __pyx_L1_error) __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_urban_historical_T = __pyx_t_3; __pyx_t_3 = 0;
+1910: index_urban_d = index_urban.dayofyear
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_index_urban, __pyx_n_s_dayofyear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_index_urban_d = __pyx_t_3; __pyx_t_3 = 0;
+1911: index_urban_m = index_urban.month
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_index_urban, __pyx_n_s_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1911, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_index_urban_m = __pyx_t_3; __pyx_t_3 = 0;
+1912: index_urban_y = index_urban.year
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_index_urban, __pyx_n_s_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_index_urban_y = __pyx_t_3; __pyx_t_3 = 0;
+1913: index_urban_dowy = water_day(index_urban_d, index_urban_y)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_water_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_index_urban_d, __pyx_v_index_urban_y}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1913, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_index_urban_d, __pyx_v_index_urban_y}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1913, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_index_urban_d); __Pyx_GIVEREF(__pyx_v_index_urban_d); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_v_index_urban_d); __Pyx_INCREF(__pyx_v_index_urban_y); __Pyx_GIVEREF(__pyx_v_index_urban_y); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_index_urban_y); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_index_urban_dowy = __pyx_t_3; __pyx_t_3 = 0;
+1914: urban_startYear = index_urban_y[0]
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_index_urban_y, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_urban_startYear = __pyx_t_3; __pyx_t_3 = 0;
+1915: urban_start_regression_year = 2003
__Pyx_INCREF(__pyx_int_2003);
__pyx_v_urban_start_regression_year = __pyx_int_2003;
+1916: urban_start_regression = int(urban_start_regression_year - urban_startYear - 1)
__pyx_t_3 = PyNumber_Subtract(__pyx_v_urban_start_regression_year, __pyx_v_urban_startYear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_urban_start_regression = __pyx_t_3; __pyx_t_3 = 0;
+1917: index_urban_water_year = water_year(index_urban_m, index_urban_y, urban_startYear)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_water_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_index_urban_m, __pyx_v_index_urban_y, __pyx_v_urban_startYear}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_index_urban_m, __pyx_v_index_urban_y, __pyx_v_urban_startYear}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_2 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_index_urban_m); __Pyx_GIVEREF(__pyx_v_index_urban_m); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_v_index_urban_m); __Pyx_INCREF(__pyx_v_index_urban_y); __Pyx_GIVEREF(__pyx_v_index_urban_y); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_index_urban_y); __Pyx_INCREF(__pyx_v_urban_startYear); __Pyx_GIVEREF(__pyx_v_urban_startYear); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_7, __pyx_v_urban_startYear); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_index_urban_water_year = __pyx_t_3; __pyx_t_3 = 0;
+1918: numYears_urban = index_urban_y[urban_historical_T - 1] - index_urban_y[0]
__pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_urban_historical_T, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_y, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_index_urban_y, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_numYears_urban = __pyx_t_2; __pyx_t_2 = 0;
+1919: urban_list = [self.socal, self.centralcoast, self.southbay]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyList_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_v_urban_list = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+1920: self.observed_hro = df_urban['HRO_pump'].values*cfs_tafd
__pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_v_df_urban, __pyx_n_u_HRO_pump); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_values); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro, __pyx_t_3) < 0) __PYX_ERR(0, 1920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1921: self.observed_trp = df_urban['TRP_pump'].values*cfs_tafd
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_df_urban, __pyx_n_u_TRP_pump); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_values); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_Multiply(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_observed_trp, __pyx_t_1) < 0) __PYX_ERR(0, 1921, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1922: self.observed_hro_pred = df_pumping_prediction_control['DEL_SWP_allocation']
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_df_pumping_prediction_control, __pyx_n_u_DEL_SWP_allocation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred, __pyx_t_1) < 0) __PYX_ERR(0, 1922, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1923: SRI_forecast = df_urban['DEL_SCINDEX'].values
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_df_urban, __pyx_n_u_DEL_SCINDEX); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_values); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_SRI_forecast = __pyx_t_3; __pyx_t_3 = 0;
+1924: regression_annual_hro = [0.0 for _ in range(numYears_urban)]
{ /* enter inner scope */
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1924, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_numYears_urban); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1924, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1924, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1924, __pyx_L6_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1924, __pyx_L6_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1924, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1924, __pyx_L6_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1924, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_8(__pyx_t_4);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1924, __pyx_L6_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XDECREF_SET(__pyx_9genexpr11__pyx_v__, __pyx_t_1);
__pyx_t_1 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1924, __pyx_L6_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_9genexpr11__pyx_v__); __pyx_9genexpr11__pyx_v__ = 0;
goto __pyx_L9_exit_scope;
__pyx_L6_error:;
__Pyx_XDECREF(__pyx_9genexpr11__pyx_v__); __pyx_9genexpr11__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L9_exit_scope:;
} /* exit inner scope */
__pyx_v_regression_annual_hro = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
+1925: regression_annual_trp = [0.0 for _ in range(numYears_urban)]
{ /* enter inner scope */
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1925, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_numYears_urban); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1925, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_4);
if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
__pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1925, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1925, __pyx_L12_error)
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1925, __pyx_L12_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1925, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1925, __pyx_L12_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1925, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
} else {
__pyx_t_4 = __pyx_t_8(__pyx_t_1);
if (unlikely(!__pyx_t_4)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1925, __pyx_L12_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_4);
}
__Pyx_XDECREF_SET(__pyx_9genexpr12__pyx_v__, __pyx_t_4);
__pyx_t_4 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_3, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1925, __pyx_L12_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_9genexpr12__pyx_v__); __pyx_9genexpr12__pyx_v__ = 0;
goto __pyx_L15_exit_scope;
__pyx_L12_error:;
__Pyx_XDECREF(__pyx_9genexpr12__pyx_v__); __pyx_9genexpr12__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L15_exit_scope:;
} /* exit inner scope */
__pyx_v_regression_annual_trp = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
+1926: regression_percent = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_regression_percent = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+1927: for x in urban_list:
__pyx_t_3 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1927, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1928: regression_percent[x] = np.zeros((365,numYears_urban))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_365); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_numYears_urban); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_regression_percent, __pyx_v_x, __pyx_t_1) < 0)) __PYX_ERR(0, 1928, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1929: x.delivery_percent_coefficient = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient, __pyx_t_1) < 0) __PYX_ERR(0, 1929, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1930: x.delivery_percent_coefficient[0] = np.zeros((365,4))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_tuple__46) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_tuple__46); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_t_4, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_tuple__46 = PyTuple_Pack(2, __pyx_int_365, __pyx_int_4); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 1930, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__46); __Pyx_GIVEREF(__pyx_tuple__46);
+1931: for x in self.city_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1931, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1931, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1931, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1931, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+1932: x.delivery_percent_coefficient = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1932, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient, __pyx_t_3) < 0) __PYX_ERR(0, 1932, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1933: regression_percent[x] = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyDict_SetItem(__pyx_v_regression_percent, __pyx_v_x, __pyx_t_3) < 0)) __PYX_ERR(0, 1933, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1934: for xx in x.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1934, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1934, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1934, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_11(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1934, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1935: x.delivery_percent_coefficient[xx] = np.zeros((365,4))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_2, __pyx_tuple__46) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_tuple__46); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_xx, __pyx_t_3) < 0)) __PYX_ERR(0, 1935, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1936: regression_percent[x][xx] = np.zeros((365,numYears_urban))
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_int_365); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_numYears_urban); __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_12, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_xx, __pyx_t_3) < 0)) __PYX_ERR(0, 1936, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
1937:
+1938: sim_y = self.index.year
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_sim_y = __pyx_t_4; __pyx_t_4 = 0;
+1939: sim_m = self.index.month
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_sim_m = __pyx_t_1; __pyx_t_1 = 0;
+1940: sim_d = self.index.day
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_sim_d = __pyx_t_4; __pyx_t_4 = 0;
+1941: start_counter = 0
__pyx_v_start_counter = 0;
+1942: sri_regression = np.zeros(numYears_urban - urban_start_regression)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_sri_regression = __pyx_t_4; __pyx_t_4 = 0;
+1943: for simt in range(0, self.T):
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1943, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1943, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1943, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1943, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_simt, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1944: if sim_y[simt] == urban_start_regression_year:
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_sim_y, __pyx_v_simt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_v_urban_start_regression_year, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1944, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1944, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+1945: start_counter = 1
__pyx_v_start_counter = 1;
+1946: if start_counter == 1 and sim_m[simt] == 9 and sim_d[simt] == 1:
__pyx_t_13 = ((__pyx_v_start_counter == 1) != 0);
if (__pyx_t_13) {
} else {
__pyx_t_5 = __pyx_t_13;
goto __pyx_L26_bool_binop_done;
}
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_sim_m, __pyx_v_simt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_9, 9, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_13) {
} else {
__pyx_t_5 = __pyx_t_13;
goto __pyx_L26_bool_binop_done;
}
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_sim_d, __pyx_v_simt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 1946, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_5 = __pyx_t_13;
__pyx_L26_bool_binop_done:;
if (__pyx_t_5) {
/* … */
}
+1947: sri_regression[sim_y[simt] - urban_start_regression_year] = self.forecastSRI[simt]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_simt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_sim_y, __pyx_v_simt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_urban_start_regression_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_v_sri_regression, __pyx_t_2, __pyx_t_4) < 0)) __PYX_ERR(0, 1947, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1948: urban_leap = leap(np.arange(min(index_urban_y), max(index_urban_y) + 2))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_leap); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_arange); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_index_urban_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_index_urban_y); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_12, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_1, __pyx_t_14}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_t_1, __pyx_t_14}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_14); __pyx_t_1 = 0; __pyx_t_14 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_3 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_urban_leap = __pyx_t_3; __pyx_t_3 = 0;
+1949: urban_year_list = np.arange(min(index_urban_y), max(index_urban_y) + 2)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_arange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_min, __pyx_v_index_urban_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_max, __pyx_v_index_urban_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyInt_AddObjC(__pyx_t_9, __pyx_int_2, 2, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_4, __pyx_t_15}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_4, __pyx_t_15}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_7, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_7, __pyx_t_15); __pyx_t_4 = 0; __pyx_t_15 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_urban_year_list = __pyx_t_3; __pyx_t_3 = 0;
+1950: urban_days_in_month = days_in_month(urban_year_list, urban_leap)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_urban_year_list, __pyx_v_urban_leap}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_v_urban_year_list, __pyx_v_urban_leap}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_urban_year_list); __Pyx_GIVEREF(__pyx_v_urban_year_list); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_v_urban_year_list); __Pyx_INCREF(__pyx_v_urban_leap); __Pyx_GIVEREF(__pyx_v_urban_leap); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_v_urban_leap); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_15, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_urban_days_in_month = __pyx_t_3; __pyx_t_3 = 0;
1951:
+1952: hist_pumping = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_hist_pumping = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+1953: regression_annual = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_regression_annual = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+1954: for x in urban_list:
__pyx_t_3 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1954, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1955: hist_pumping[x] = [float(_) for _ in df_urban[x.key+ '_pump'].values]
{ /* enter inner scope */
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_14 = PyNumber_Add(__pyx_t_15, __pyx_n_u_pump); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_df_urban, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_values); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
__pyx_t_15 = __pyx_t_14; __Pyx_INCREF(__pyx_t_15); __pyx_t_10 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_10 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_8 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1955, __pyx_L33_error)
}
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_15))) {
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_15)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_14 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1955, __pyx_L33_error)
#else
__pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_14);
#endif
} else {
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_15)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1955, __pyx_L33_error)
#else
__pyx_t_14 = PySequence_ITEM(__pyx_t_15, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_14);
#endif
}
} else {
__pyx_t_14 = __pyx_t_8(__pyx_t_15);
if (unlikely(!__pyx_t_14)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1955, __pyx_L33_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_14);
}
__Pyx_XDECREF_SET(__pyx_9genexpr13__pyx_v__, __pyx_t_14);
__pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyNumber_Float(__pyx_9genexpr13__pyx_v__); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_GOTREF(__pyx_t_14);
if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_14))) __PYX_ERR(0, 1955, __pyx_L33_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
}
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_XDECREF(__pyx_9genexpr13__pyx_v__); __pyx_9genexpr13__pyx_v__ = 0;
goto __pyx_L36_exit_scope;
__pyx_L33_error:;
__Pyx_XDECREF(__pyx_9genexpr13__pyx_v__); __pyx_9genexpr13__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L36_exit_scope:;
} /* exit inner scope */
if (unlikely(PyDict_SetItem(__pyx_v_hist_pumping, __pyx_v_x, __pyx_t_2) < 0)) __PYX_ERR(0, 1955, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1956: regression_annual[x] = [0.0 for _ in range(numYears_urban)]
{ /* enter inner scope */
__pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1956, __pyx_L39_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_15 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_v_numYears_urban); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1956, __pyx_L39_error)
__Pyx_GOTREF(__pyx_t_15);
if (likely(PyList_CheckExact(__pyx_t_15)) || PyTuple_CheckExact(__pyx_t_15)) {
__pyx_t_14 = __pyx_t_15; __Pyx_INCREF(__pyx_t_14); __pyx_t_10 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_10 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1956, __pyx_L39_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_8 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1956, __pyx_L39_error)
}
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_14))) {
if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_14)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_15 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_15); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1956, __pyx_L39_error)
#else
__pyx_t_15 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1956, __pyx_L39_error)
__Pyx_GOTREF(__pyx_t_15);
#endif
} else {
if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_15 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_15); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1956, __pyx_L39_error)
#else
__pyx_t_15 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1956, __pyx_L39_error)
__Pyx_GOTREF(__pyx_t_15);
#endif
}
} else {
__pyx_t_15 = __pyx_t_8(__pyx_t_14);
if (unlikely(!__pyx_t_15)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 1956, __pyx_L39_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_15);
}
__Pyx_XDECREF_SET(__pyx_9genexpr14__pyx_v__, __pyx_t_15);
__pyx_t_15 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 1956, __pyx_L39_error)
}
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_XDECREF(__pyx_9genexpr14__pyx_v__); __pyx_9genexpr14__pyx_v__ = 0;
goto __pyx_L42_exit_scope;
__pyx_L39_error:;
__Pyx_XDECREF(__pyx_9genexpr14__pyx_v__); __pyx_9genexpr14__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L42_exit_scope:;
} /* exit inner scope */
if (unlikely(PyDict_SetItem(__pyx_v_regression_annual, __pyx_v_x, __pyx_t_2) < 0)) __PYX_ERR(0, 1956, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1957:
+1958: for xx in range(0, len(hist_pumping[self.southbay])):
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_hist_pumping, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1958, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1958, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1958, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1958, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1959: m = index_urban_m[xx]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_m, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_m, __pyx_t_2); __pyx_t_2 = 0;
+1960: wateryear = index_urban_water_year[xx]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_2); __pyx_t_2 = 0;
+1961: year_index = index_urban_y[xx]-urban_startYear
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_y, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = PyNumber_Subtract(__pyx_t_2, __pyx_v_urban_startYear); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_year_index, __pyx_t_14); __pyx_t_14 = 0;
+1962: hist_pumping[self.southbay][xx] += df_urban_monthly_cvp['PCH_pump'][m-1 + wateryear*12]*1000.0/urban_days_in_month[year_index][m-1]
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_hist_pumping, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_INCREF(__pyx_v_xx); __pyx_t_14 = __pyx_v_xx; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_v_df_urban_monthly_cvp, __pyx_n_u_PCH_pump); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = PyNumber_Multiply(__pyx_v_wateryear, __pyx_int_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyNumber_Add(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_1, __pyx_float_1000_0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_urban_days_in_month, __pyx_v_year_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_12, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_14, __pyx_t_9) < 0)) __PYX_ERR(0, 1962, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1963:
+1964: for t in range(0,urban_historical_T):
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_urban_historical_T); __Pyx_GIVEREF(__pyx_v_urban_historical_T); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_urban_historical_T); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1964, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1964, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1964, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1964, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1965: wateryear = index_urban_water_year[t]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_2); __pyx_t_2 = 0;
1966:
1967: ##Find annual pumping at each branch (and @ delta)
+1968: regression_annual_hro[wateryear] += self.observed_hro[t]
__Pyx_INCREF(__pyx_v_wateryear); __pyx_t_2 = __pyx_v_wateryear; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_regression_annual_hro, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_v_regression_annual_hro, __pyx_t_2, __pyx_t_9) < 0)) __PYX_ERR(0, 1968, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1969: regression_annual_trp[wateryear] += self.observed_trp[t]
__Pyx_INCREF(__pyx_v_wateryear); __pyx_t_2 = __pyx_v_wateryear; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_regression_annual_trp, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_trp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_v_regression_annual_trp, __pyx_t_2, __pyx_t_4) < 0)) __PYX_ERR(0, 1969, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1970: for x in urban_list:
__pyx_t_2 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1970, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1971: regression_annual[x][wateryear] += hist_pumping[x][t]/1000.0
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_regression_annual, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_14 = __pyx_v_wateryear; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_hist_pumping, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_t); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_12, __pyx_float_1000_0, 1000.0, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_t_14, __pyx_t_12) < 0)) __PYX_ERR(0, 1971, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
1972:
1973:
1974:
1975:
+1976: for x in urban_list:
__pyx_t_3 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1976, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1977: x.pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 1977, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1978: x.pumping[0] = hist_pumping[x]
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_hist_pumping, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_t_4, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 1978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1979: x.annual_pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 1979, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1980: x.annual_pumping[0] = regression_annual[x]
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_regression_annual, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__Pyx_SetItemInt(__pyx_t_4, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 1980, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
1981: # for xx in range(0, len(hist_pumping[x])):
1982: # x.pumping.append(hist_pumping[x][xx] * 1.0)
1983: # for xx in range(0, len(regression_annual[x])):
1984: # x.annual_pumping.append(regression_annual[x][xx] * 1.0)
1985:
+1986: metropolitan_demand = [584.0, 352.0, 681.0, 1252.0, 1075.5, 1408.8, 1592.0, 1865.7, 1431.1, 1501.6, 1646.8, 1077.5, 1020.2, 1123.1, 1335.7, 1065.6, 989.1, 476.8, 704.8, 1106.4]
__pyx_t_3 = PyList_New(20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_584_0); __Pyx_GIVEREF(__pyx_float_584_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_584_0); __Pyx_INCREF(__pyx_float_352_0); __Pyx_GIVEREF(__pyx_float_352_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_352_0); __Pyx_INCREF(__pyx_float_681_0); __Pyx_GIVEREF(__pyx_float_681_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_681_0); __Pyx_INCREF(__pyx_float_1252_0); __Pyx_GIVEREF(__pyx_float_1252_0); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_float_1252_0); __Pyx_INCREF(__pyx_float_1075_5); __Pyx_GIVEREF(__pyx_float_1075_5); PyList_SET_ITEM(__pyx_t_3, 4, __pyx_float_1075_5); __Pyx_INCREF(__pyx_float_1408_8); __Pyx_GIVEREF(__pyx_float_1408_8); PyList_SET_ITEM(__pyx_t_3, 5, __pyx_float_1408_8); __Pyx_INCREF(__pyx_float_1592_0); __Pyx_GIVEREF(__pyx_float_1592_0); PyList_SET_ITEM(__pyx_t_3, 6, __pyx_float_1592_0); __Pyx_INCREF(__pyx_float_1865_7); __Pyx_GIVEREF(__pyx_float_1865_7); PyList_SET_ITEM(__pyx_t_3, 7, __pyx_float_1865_7); __Pyx_INCREF(__pyx_float_1431_1); __Pyx_GIVEREF(__pyx_float_1431_1); PyList_SET_ITEM(__pyx_t_3, 8, __pyx_float_1431_1); __Pyx_INCREF(__pyx_float_1501_6); __Pyx_GIVEREF(__pyx_float_1501_6); PyList_SET_ITEM(__pyx_t_3, 9, __pyx_float_1501_6); __Pyx_INCREF(__pyx_float_1646_8); __Pyx_GIVEREF(__pyx_float_1646_8); PyList_SET_ITEM(__pyx_t_3, 10, __pyx_float_1646_8); __Pyx_INCREF(__pyx_float_1077_5); __Pyx_GIVEREF(__pyx_float_1077_5); PyList_SET_ITEM(__pyx_t_3, 11, __pyx_float_1077_5); __Pyx_INCREF(__pyx_float_1020_2); __Pyx_GIVEREF(__pyx_float_1020_2); PyList_SET_ITEM(__pyx_t_3, 12, __pyx_float_1020_2); __Pyx_INCREF(__pyx_float_1123_1); __Pyx_GIVEREF(__pyx_float_1123_1); PyList_SET_ITEM(__pyx_t_3, 13, __pyx_float_1123_1); __Pyx_INCREF(__pyx_float_1335_7); __Pyx_GIVEREF(__pyx_float_1335_7); PyList_SET_ITEM(__pyx_t_3, 14, __pyx_float_1335_7); __Pyx_INCREF(__pyx_float_1065_6); __Pyx_GIVEREF(__pyx_float_1065_6); PyList_SET_ITEM(__pyx_t_3, 15, __pyx_float_1065_6); __Pyx_INCREF(__pyx_float_989_1); __Pyx_GIVEREF(__pyx_float_989_1); PyList_SET_ITEM(__pyx_t_3, 16, __pyx_float_989_1); __Pyx_INCREF(__pyx_float_476_8); __Pyx_GIVEREF(__pyx_float_476_8); PyList_SET_ITEM(__pyx_t_3, 17, __pyx_float_476_8); __Pyx_INCREF(__pyx_float_704_8); __Pyx_GIVEREF(__pyx_float_704_8); PyList_SET_ITEM(__pyx_t_3, 18, __pyx_float_704_8); __Pyx_INCREF(__pyx_float_1106_4); __Pyx_GIVEREF(__pyx_float_1106_4); PyList_SET_ITEM(__pyx_t_3, 19, __pyx_float_1106_4); __pyx_v_metropolitan_demand = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+1987: if self.model_mode == 'validation':
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1987, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L51; }
+1988: metropolitan_adjust = self.starting_year - 1996
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_1996, 0x7CC, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_metropolitan_adjust = __pyx_t_2; __pyx_t_2 = 0;
1989: else:
+1990: metropolitan_adjust = 0
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_v_metropolitan_adjust = __pyx_int_0;
}
__pyx_L51:;
1991:
+1992: for x in self.city_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1992, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1992, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1992, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1992, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1993: x.pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 1993, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1994: x.annual_pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 1994, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1995: for districts in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1995, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1995, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1995, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_11(__pyx_t_4); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 1995, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_districts, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1996: if x.key == "MET":
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_MET, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 1996, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L56; }
+1997: x.pumping[districts] = np.zeros(urban_historical_T)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_14, __pyx_v_urban_historical_T) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_urban_historical_T); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_t_12, __pyx_v_districts, __pyx_t_2) < 0)) __PYX_ERR(0, 1997, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1998: x.annual_pumping[districts] = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_2 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_12, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_districts, __pyx_t_2) < 0)) __PYX_ERR(0, 1998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1999: recalc_pumping = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_14, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_recalc_pumping, __pyx_t_2); __pyx_t_2 = 0;
+2000: district_object = self.district_keys[districts]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_12); __pyx_t_12 = 0;
+2001: for year_counter in range(0, len(x.annual_pumping[districts])):
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_16); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_12, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_12 = __pyx_t_2; __Pyx_INCREF(__pyx_t_12); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_17 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2001, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2001, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_16); __Pyx_INCREF(__pyx_t_2); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2001, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_17(__pyx_t_12); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2001, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_year_counter, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2002: if districts == "SOC":
__pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_districts, __pyx_n_u_SOC, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2002, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L59; }
+2003: x.annual_pumping[districts][year_counter] = metropolitan_demand[year_counter + metropolitan_adjust]
__pyx_t_2 = PyNumber_Add(__pyx_v_year_counter, __pyx_v_metropolitan_adjust); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_metropolitan_demand, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_year_counter, __pyx_t_14) < 0)) __PYX_ERR(0, 2003, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
2004: else:
+2005: x.annual_pumping[districts][year_counter] = 0.0
/*else*/ {
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2005, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2005, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_year_counter, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2005, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
__pyx_L59:;
+2006: if districts == "SOC":
__pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_districts, __pyx_n_u_SOC, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2006, __pyx_L1_error) if (__pyx_t_5) { /* … */ goto __pyx_L60; }
+2007: for pumping_counter in range(0, len(x.pumping[districts])):
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_15); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2007, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_18 = __pyx_t_16; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_pumping_counter = __pyx_t_19;
+2008: wateryear = index_urban_water_year[pumping_counter]
__pyx_t_15 = __Pyx_GetItemInt(__pyx_v_index_urban_water_year, __pyx_v_pumping_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_15); __pyx_t_15 = 0;
+2009: real_ratio = x.annual_pumping[districts][wateryear]/(district_object.annual_pumping[0][wateryear]*x.pump_out_fraction[districts])
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_12, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_15, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF_SET(__pyx_v_real_ratio, __pyx_t_2); __pyx_t_2 = 0;
+2010: x.pumping[districts][pumping_counter] = district_object.pumping[0][pumping_counter]*x.pump_out_fraction[districts]*real_ratio
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_14, __pyx_v_pumping_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_14, __pyx_v_real_ratio); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_v_pumping_counter, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2010, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+2011: recalc_pumping[wateryear] += x.pumping[districts][pumping_counter]
__Pyx_INCREF(__pyx_v_wateryear); __pyx_t_15 = __pyx_v_wateryear; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_recalc_pumping, __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_12, __pyx_v_pumping_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_v_recalc_pumping, __pyx_t_15, __pyx_t_12) < 0)) __PYX_ERR(0, 2011, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; }
2012: else:
+2013: for pumping_counter in range(0, len(x.pumping[districts])):
/*else*/ {
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2013, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_16 = PyObject_Length(__pyx_t_12); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2013, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_18 = __pyx_t_16;
for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {
__pyx_v_pumping_counter = __pyx_t_19;
+2014: x.pumping[districts][pumping_counter] = district_object.pumping[0][pumping_counter]*x.pump_out_fraction[districts]
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_15, __pyx_v_pumping_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_districts); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_12, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_12, __pyx_v_pumping_counter, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2014, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } } __pyx_L60:;
2015: else:
+2016: x.pumping[districts] = np.zeros(urban_historical_T)
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_14);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_14, function);
}
}
__pyx_t_15 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_12, __pyx_v_urban_historical_T) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_urban_historical_T);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2016, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_districts, __pyx_t_15) < 0)) __PYX_ERR(0, 2016, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+2017: x.annual_pumping[districts] = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_15 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_14, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_t_12, __pyx_v_districts, __pyx_t_15) < 0)) __PYX_ERR(0, 2017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+2018: district_object = self.district_keys[districts]
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_12); __pyx_t_12 = 0;
2019:
+2020: for pump_counter in range(0,len(x.pumping[districts])):
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_15); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_18 = __pyx_t_16; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_pump_counter = __pyx_t_19;
+2021: x.pumping[districts][pump_counter] += district_object.pumping[0][pump_counter]*x.pump_out_fraction[districts]
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_districts); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_20 = __pyx_v_pump_counter; __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_12, __pyx_t_20, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_districts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_14, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_12, __pyx_t_20, __pyx_t_9, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2021, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; }
+2022: for year_counter in range(0, len(x.annual_pumping[districts])):
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_districts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyInt_FromSsize_t(__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_12, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_12 = __pyx_t_9; __Pyx_INCREF(__pyx_t_12); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_17 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2022, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_16); __Pyx_INCREF(__pyx_t_9); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2022, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_12, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_16); __Pyx_INCREF(__pyx_t_9); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2022, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_12, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_17(__pyx_t_12); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2022, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_year_counter, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __pyx_L56:;
+2023: x.annual_pumping[districts][year_counter] += district_object.annual_pumping[0][year_counter]*x.pump_out_fraction[districts]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_v_year_counter); __pyx_t_9 = __pyx_v_year_counter; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_9); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_counter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_districts); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_14, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_9, __pyx_t_21) < 0)) __PYX_ERR(0, 2023, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2024:
+2025: for x in self.city_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2025, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2025, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2025, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2025, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2026: for districts in x.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_12 = __pyx_t_3; __Pyx_INCREF(__pyx_t_12); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2026, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2026, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2026, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_11(__pyx_t_12); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2026, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_districts, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2027: recalc_pumping = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_2, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_recalc_pumping, __pyx_t_3); __pyx_t_3 = 0;
+2028: district_object = self.district_keys[districts]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_districts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_9); __pyx_t_9 = 0;
+2029: for pump_counter in range(0, len(x.pumping[districts])):
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_districts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2029, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = __pyx_t_16; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_pump_counter = __pyx_t_19;
+2030: wateryear = index_urban_water_year[pump_counter]
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_index_urban_water_year, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_3); __pyx_t_3 = 0;
+2031: district_object.pumping[0][pump_counter] -= x.pumping[districts][pump_counter]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_20 = __pyx_v_pump_counter; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_9, __pyx_t_20, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_districts); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_21, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceSubtract(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_9, __pyx_t_20, __pyx_t_21, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2031, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2032: if district_object.pumping[0][pump_counter] < 0.0:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_21, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyObject_RichCompare(__pyx_t_9, __pyx_float_0_0, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2032, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2032, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { /* … */ }
+2033: x.pumping[districts][pump_counter] += district_object.pumping[0][pump_counter]
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_districts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_20 = __pyx_v_pump_counter; __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, __pyx_t_20, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_9, __pyx_t_20, __pyx_t_3, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2033, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2034: district_object.pumping[0][pump_counter] = 0.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_pumping); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_v_pump_counter, __pyx_float_0_0, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2035: recalc_pumping[wateryear] += x.pumping[districts][pump_counter]
__Pyx_INCREF(__pyx_v_wateryear); __pyx_t_3 = __pyx_v_wateryear; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_recalc_pumping, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_districts); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_21, __pyx_v_pump_counter, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_recalc_pumping, __pyx_t_3, __pyx_t_21) < 0)) __PYX_ERR(0, 2035, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; }
2036:
+2037: for year_counter in range(0, len(x.annual_pumping[districts])):
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_districts); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = PyObject_Length(__pyx_t_21); if (unlikely(__pyx_t_16 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyInt_FromSsize_t(__pyx_t_16); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_3 = __pyx_t_21; __Pyx_INCREF(__pyx_t_3); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2037, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_21); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2037, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_16); __Pyx_INCREF(__pyx_t_21); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2037, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_3, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_17(__pyx_t_3); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2037, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_year_counter, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+2038: district_object.annual_pumping[0][year_counter] -= x.annual_pumping[districts][year_counter]
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_INCREF(__pyx_v_year_counter); __pyx_t_21 = __pyx_v_year_counter; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_year_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceSubtract(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_21, __pyx_t_15) < 0)) __PYX_ERR(0, 2038, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2039: if district_object.annual_pumping[0][year_counter] < 0.0:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_year_counter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyObject_RichCompare(__pyx_t_2, __pyx_float_0_0, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2039, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { /* … */ }
+2040: x.annual_pumping[districts][year_counter] += district_object.annual_pumping[0][year_counter]
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_districts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_INCREF(__pyx_v_year_counter); __pyx_t_21 = __pyx_v_year_counter; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_year_counter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_21, __pyx_t_9) < 0)) __PYX_ERR(0, 2040, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2041: district_object.annual_pumping[0][year_counter] = 0.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_v_year_counter, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2041, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2042:
+2043: for x in urban_list:
__pyx_t_4 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2043, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2044: for t in range(0, urban_historical_T):
__pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_urban_historical_T); __Pyx_GIVEREF(__pyx_v_urban_historical_T); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_urban_historical_T); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_12 = __pyx_t_3; __Pyx_INCREF(__pyx_t_12); __pyx_t_10 = 0; __pyx_t_8 = NULL; } else { __pyx_t_10 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2044, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2044, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2044, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2044, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2045: wateryear = index_urban_water_year[t]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_3); __pyx_t_3 = 0;
+2046: dowy = index_urban_dowy[t]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_dowy, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_3); __pyx_t_3 = 0;
+2047: regression_percent[x][dowy][wateryear] = x.annual_pumping[0][wateryear]/self.observed_hro_pred[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_wateryear, __pyx_t_21) < 0)) __PYX_ERR(0, 2047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2048:
+2049: for x in self.city_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2049, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2049, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2049, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2049, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2050: for xx in x.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_21 = __pyx_t_4; __Pyx_INCREF(__pyx_t_21); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_11 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2050, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2050, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_21, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2050, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_21, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_11(__pyx_t_21); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2050, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2051: for t in range(0, urban_historical_T):
__pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_urban_historical_T); __Pyx_GIVEREF(__pyx_v_urban_historical_T); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_urban_historical_T); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2051, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2051, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_3); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2051, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_17(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2051, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2052: wateryear = index_urban_water_year[t]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_3); __pyx_t_3 = 0;
+2053: dowy = index_urban_dowy[t]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_dowy, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_3); __pyx_t_3 = 0;
+2054: regression_percent[x][xx][dowy][wateryear] = x.annual_pumping[xx][wateryear]/self.observed_hro_pred[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_wateryear, __pyx_t_2) < 0)) __PYX_ERR(0, 2054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2055: #regression_percent[x][xx][y] = x.annual_pumping[xx][y]
2056:
2057:
+2058: sri_forecast_dowy = np.zeros((365,numYears_urban))
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_int_365); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_v_numYears_urban); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_21) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_21); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_sri_forecast_dowy = __pyx_t_12; __pyx_t_12 = 0;
+2059: pumping_forecast_dowy = np.zeros((365, numYears_urban))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_365); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_numYears_urban); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_v_pumping_forecast_dowy = __pyx_t_12; __pyx_t_12 = 0;
+2060: pumping_forecast_timeseries = np.zeros(365 * numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Multiply(__pyx_int_365, __pyx_v_numYears_urban); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_21) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_21); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_pumping_forecast_timeseries = __pyx_t_12; __pyx_t_12 = 0;
+2061: for t in range(0, urban_historical_T):
__pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_urban_historical_T); __Pyx_GIVEREF(__pyx_v_urban_historical_T); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_urban_historical_T); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_12, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2061, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2061, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2061, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2061, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2062: wateryear = index_urban_water_year[t]
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2062, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_4); __pyx_t_4 = 0;
+2063: dowy = index_urban_dowy[t]
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_dowy, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2063, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_4); __pyx_t_4 = 0;
+2064: sri_forecast_dowy[dowy][wateryear] = SRI_forecast[t]
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_SRI_forecast, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_v_sri_forecast_dowy, __pyx_v_dowy); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_v_wateryear, __pyx_t_4) < 0)) __PYX_ERR(0, 2064, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2065: pumping_forecast_dowy[dowy][wateryear] = self.observed_hro_pred[t]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_wateryear, __pyx_t_21) < 0)) __PYX_ERR(0, 2065, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2066: if wateryear >= urban_start_regression:
__pyx_t_21 = PyObject_RichCompare(__pyx_v_wateryear, __pyx_v_urban_start_regression, Py_GE); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2066, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2066, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { /* … */ }
+2067: pumping_forecast_timeseries[(wateryear - urban_start_regression)*365 + dowy] = pumping_forecast_dowy[dowy][wateryear] * 1.0
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_dowy); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Multiply(__pyx_t_4, __pyx_float_1_0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_wateryear, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyNumber_Multiply(__pyx_t_4, __pyx_int_365); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_pumping_forecast_timeseries, __pyx_t_4, __pyx_t_21) < 0)) __PYX_ERR(0, 2067, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2068:
+2069: regression_errors = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_v_regression_errors = ((PyObject*)__pyx_t_12); __pyx_t_12 = 0;
+2070: regression_errors_timeseries = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_v_regression_errors_timeseries = ((PyObject*)__pyx_t_12); __pyx_t_12 = 0;
+2071: for x in urban_list:
__pyx_t_12 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_21); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2071, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2072: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_XDECREF_SET(__pyx_v_counter1, __pyx_int_1);
+2073: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_plt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_figure); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_21 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2073, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_fig, __pyx_t_21); __pyx_t_21 = 0;
+2074: regression_errors[x] = np.zeros((365,numYears_urban - urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_21 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyDict_SetItem(__pyx_v_regression_errors, __pyx_v_x, __pyx_t_21) < 0)) __PYX_ERR(0, 2074, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2075: regression_errors_timeseries[x] = np.zeros(365*(numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyNumber_Multiply(__pyx_int_365, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_21 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyDict_SetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x, __pyx_t_21) < 0)) __PYX_ERR(0, 2075, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2076: error_changes = np.zeros((365, numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_21 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2076, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_error_changes, __pyx_t_21); __pyx_t_21 = 0;
+2077: pumping_changes = np.zeros((365, numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_21 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_9); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_pumping_changes, __pyx_t_21); __pyx_t_21 = 0;
2078:
+2079: for wateryear_day in range(0,365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_21 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2079, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_21);
__pyx_t_21 = 0;
2080: #coef = np.polyfit(sri_forecast_dowy[wateryear_day][urban_start_regression:-1], regression_percent[x][urban_start_regression:-1],1)
+2081: coef = np.polyfit(pumping_forecast_dowy[wateryear_day][urban_start_regression:], regression_percent[x][wateryear_day][urban_start_regression:],1)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_4, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_2, __pyx_t_4, __pyx_int_1}; __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_2, __pyx_t_4, __pyx_int_1}; __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_1 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_7, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_7, __pyx_int_1); __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_1, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_21); __pyx_t_21 = 0;
+2082: if self.use_sensitivity:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L96; }
+2083: x.delivery_percent_coefficient[0][wateryear_day][0] = self.sensitivity_factors['urban_wet_year_demand_reduction']['realization']*coef[0]
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_n_u_urban_wet_year_demand_reduction); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_realization); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = PyNumber_Multiply(__pyx_t_21, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_9, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2083, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2084: else:
+2085: x.delivery_percent_coefficient[0][wateryear_day][0] = coef[0]
/*else*/ {
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2085, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (unlikely(__Pyx_SetItemInt(__pyx_t_9, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2085, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L96:;
+2086: x.delivery_percent_coefficient[0][wateryear_day][1] = coef[1]
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_9, 1, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2086, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2087:
2088:
+2089: if x.key == 'xxx':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_xxx, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2089, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+2090: sri = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_9, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_sri, __pyx_t_1); __pyx_t_1 = 0;
+2091: percent = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_zeros); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_21, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_percent, __pyx_t_1); __pyx_t_1 = 0;
+2092: ax1 = fig.add_subplot(4,5,counter1)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_fig, __pyx_n_s_add_subplot); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_21, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_21, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_21); __pyx_t_21 = NULL; } __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_int_4); __Pyx_INCREF(__pyx_int_5); __Pyx_GIVEREF(__pyx_int_5); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_int_5); __Pyx_INCREF(__pyx_v_counter1); __Pyx_GIVEREF(__pyx_v_counter1); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_7, __pyx_v_counter1); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_ax1, __pyx_t_1); __pyx_t_1 = 0;
2093:
2094:
+2095: for yy in range(urban_start_regression,numYears_urban):
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_numYears_urban); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_1 = __pyx_t_9; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_8 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2095, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2095, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2095, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2095, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2096: sri[yy] = pumping_forecast_dowy[wateryear_day][yy]
__pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_yy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_v_sri, __pyx_v_yy, __pyx_t_4) < 0)) __PYX_ERR(0, 2096, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2097: percent[yy] = regression_percent[x][wateryear_day][yy]
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_yy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_v_percent, __pyx_v_yy, __pyx_t_4) < 0)) __PYX_ERR(0, 2097, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2098: ax1.scatter(sri[urban_start_regression:], percent[urban_start_regression:], s=50, c='red', edgecolor='none', alpha=0.7)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_scatter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_sri, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetSlice(__pyx_v_percent, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_s, __pyx_int_50) < 0) __PYX_ERR(0, 2098, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2098, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_edgecolor, __pyx_n_u_none) < 0) __PYX_ERR(0, 2098, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_alpha, __pyx_float_0_7) < 0) __PYX_ERR(0, 2098, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_21, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2099: ax1.plot([np.max(sri), 0.0], [(np.max(sri)*coef[0] + coef[1]), coef[1]],c='red')
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_plot); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_9 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_21, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_9); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_0_0); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_9 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_21, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = PyNumber_Multiply(__pyx_t_9, __pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = PyNumber_Add(__pyx_t_21, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = PyList_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_21, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_21, 1, __pyx_t_2); __pyx_t_9 = 0; __pyx_t_2 = 0; __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_21); __pyx_t_1 = 0; __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (PyDict_SetItem(__pyx_t_21, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2099, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2100: ax1.set_xlim([np.min(sri), np.max(sri)])
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_xlim); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_min); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_4, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_9); __pyx_t_2 = 0; __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_t_3); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2101: counter1 += 1
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_counter1, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_t_1); __pyx_t_1 = 0;
+2102: if counter1 == 21:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_counter1, __pyx_int_21, 21, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+2103: plt.show()
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_plt); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_show); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2104: plt.close()
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_plt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_close); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_21); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2105: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_plt); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_figure); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_fig, __pyx_t_1); __pyx_t_1 = 0;
+2106: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
2107:
2108:
+2109: for wateryear_count in range(urban_start_regression,numYears_urban):
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_numYears_urban); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_8 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2109, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2109, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2109, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2109, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_wateryear_count, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
+2110: regression_errors[x][wateryear_day][wateryear_count - urban_start_regression] = pumping_forecast_dowy[wateryear_day][wateryear_count]*x.delivery_percent_coefficient[0][wateryear_day][0] + x.delivery_percent_coefficient[0][wateryear_day][1] - regression_percent[x][wateryear_day][wateryear_count]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_21, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_3, __pyx_t_21); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_9, __pyx_t_21); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_21, __pyx_t_3) < 0)) __PYX_ERR(0, 2110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2111:
+2112: regression_errors_timeseries[x][(wateryear_count - urban_start_regression)*365 + wateryear_day] = pumping_forecast_dowy[wateryear_day][wateryear_count]*x.delivery_percent_coefficient[0][wateryear_day][0] + x.delivery_percent_coefficient[0][wateryear_day][1] - regression_percent[x][wateryear_day][wateryear_count]
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_21, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_9, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_3, __pyx_t_21); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_9, __pyx_t_21); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = PyNumber_Multiply(__pyx_t_9, __pyx_int_365); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_2, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_9, __pyx_t_3) < 0)) __PYX_ERR(0, 2112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2113:
+2114: for wateryear_count in range(urban_start_regression,numYears_urban):
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_numYears_urban); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_8 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2114, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2114, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2114, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2114, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_wateryear_count, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2115: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_3);
__pyx_t_3 = 0;
+2116: if (wateryear_count - urban_start_regression)*365 + wateryear_day > 0:
__pyx_t_3 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyNumber_Multiply(__pyx_t_3, __pyx_int_365); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_9, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyObject_RichCompare(__pyx_t_3, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_5) { /* … */ } }
+2117: error_changes[wateryear_day][wateryear_count - urban_start_regression] = regression_errors_timeseries[x][(wateryear_count - urban_start_regression)*365 + wateryear_day]*min(wateryear_day/240.0, 1.0) - regression_errors_timeseries[x][(wateryear_count - urban_start_regression)*365 + wateryear_day - 1]*min((wateryear_day-1.0)/240.0, 1.0)
__pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = PyNumber_Multiply(__pyx_t_3, __pyx_int_365); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_23 = 1.0; __pyx_t_3 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_wateryear_day, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { __pyx_t_4 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __pyx_t_4; __pyx_t_4 = 0; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_21, __pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = PyNumber_Multiply(__pyx_t_21, __pyx_int_365); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Add(__pyx_t_4, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_21, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_23 = 1.0; __pyx_t_4 = __Pyx_PyFloat_SubtractObjC(__pyx_v_wateryear_day, __pyx_float_1_0, 1.0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_4, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = PyObject_RichCompare(__pyx_t_2, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_5) { __pyx_t_15 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __pyx_t_15; __pyx_t_15 = 0; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_4 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_21, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_3, __pyx_t_4) < 0)) __PYX_ERR(0, 2117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2118: pumping_changes[wateryear_day][wateryear_count - urban_start_regression] = pumping_forecast_timeseries[(wateryear_count - urban_start_regression)*365 + wateryear_day] - pumping_forecast_timeseries[(wateryear_count - urban_start_regression)*365 + wateryear_day - 1]
__pyx_t_4 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_int_365); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_timeseries, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = PyNumber_Multiply(__pyx_t_4, __pyx_int_365); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_9, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_timeseries, __pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_t_3, __pyx_t_9) < 0)) __PYX_ERR(0, 2118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2119:
2120:
+2121: pumping_forecast_min = -500.0
__pyx_v_pumping_forecast_min = -500.0;
+2122: pumping_forecast_max = 500.0
__pyx_v_pumping_forecast_max = 500.0;
+2123: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
+2124: x.demand_auto_errors = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors, __pyx_t_1) < 0) __PYX_ERR(0, 2124, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2125: x.demand_auto_errors[0] = np.zeros((365, numYears_urban - urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 0, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2126: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_1);
__pyx_t_1 = 0;
+2127: day_error_changes = error_changes[wateryear_day]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_day_error_changes, __pyx_t_1); __pyx_t_1 = 0;
+2128: day_pumping_changes = pumping_changes[wateryear_day]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_day_pumping_changes, __pyx_t_1); __pyx_t_1 = 0;
+2129: np_list_1_logi = np.logical_and(day_pumping_changes > pumping_forecast_min, day_pumping_changes < pumping_forecast_max)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_logical_and); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pumping_forecast_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyObject_RichCompare(__pyx_v_day_pumping_changes, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_v_pumping_forecast_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = PyObject_RichCompare(__pyx_v_day_pumping_changes, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_9, __pyx_t_21}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_t_9, __pyx_t_21}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_t_21); __pyx_t_9 = 0; __pyx_t_21 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_np_list_1_logi, __pyx_t_1); __pyx_t_1 = 0;
+2130: day_error_cleaned = day_error_changes[np_list_1_logi]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_day_error_changes, __pyx_v_np_list_1_logi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_day_error_cleaned, __pyx_t_1); __pyx_t_1 = 0;
+2131: day_pumping_cleaned = day_pumping_changes[np_list_1_logi]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_day_pumping_changes, __pyx_v_np_list_1_logi); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_day_pumping_cleaned, __pyx_t_1); __pyx_t_1 = 0;
+2132: coef = np.polyfit(day_pumping_cleaned, day_error_cleaned, 1)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_day_pumping_cleaned, __pyx_v_day_error_cleaned, __pyx_int_1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_day_pumping_cleaned, __pyx_v_day_error_cleaned, __pyx_int_1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_21 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_day_pumping_cleaned); __Pyx_GIVEREF(__pyx_v_day_pumping_cleaned); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_7, __pyx_v_day_pumping_cleaned); __Pyx_INCREF(__pyx_v_day_error_cleaned); __Pyx_GIVEREF(__pyx_v_day_error_cleaned); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_7, __pyx_v_day_error_cleaned); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_7, __pyx_int_1); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_1); __pyx_t_1 = 0;
+2133: x.delivery_percent_coefficient[0][wateryear_day][2] = coef[0]
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_15, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_15, 2, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2133, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2134: x.delivery_percent_coefficient[0][wateryear_day][3] = coef[1]
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_15, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_15, 3, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2134, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2135: for y in range(urban_start_regression, numYears_urban):
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_numYears_urban); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_15)) || PyTuple_CheckExact(__pyx_t_15)) { __pyx_t_1 = __pyx_t_15; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_8 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2135, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_15); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2135, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_15); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2135, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } } else { __pyx_t_15 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_15)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2135, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_15); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_15); __pyx_t_15 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2136: x.demand_auto_errors[0][wateryear_day][y-urban_start_regression] = pumping_changes[wateryear_day][y - urban_start_regression] * x.delivery_percent_coefficient[0][wateryear_day][2] + x.delivery_percent_coefficient[0][wateryear_day][3] - error_changes[wateryear_day][y - urban_start_regression]
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_t_21); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_21, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_21, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Multiply(__pyx_t_4, __pyx_t_15); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_15, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_15, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Add(__pyx_t_21, __pyx_t_4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_21); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_t_15, __pyx_t_9); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_15, __pyx_t_21) < 0)) __PYX_ERR(0, 2136, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2137:
+2138: if x.key == 'XXX':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_XXX, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2138, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ } }
+2139: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_plt); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_figure); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_21) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF_SET(__pyx_v_fig, __pyx_t_1); __pyx_t_1 = 0;
+2140: ax1 = fig.add_subplot(4,5,counter1)
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_fig, __pyx_n_s_add_subplot); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_15))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_21, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_21, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_9 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_21); __pyx_t_21 = NULL; } __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_int_4); __Pyx_INCREF(__pyx_int_5); __Pyx_GIVEREF(__pyx_int_5); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_int_5); __Pyx_INCREF(__pyx_v_counter1); __Pyx_GIVEREF(__pyx_v_counter1); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_7, __pyx_v_counter1); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_ax1, __pyx_t_1); __pyx_t_1 = 0;
+2141: ax1.scatter(day_pumping_changes, day_error_changes, s=50, c='red', edgecolor='none', alpha=0.7)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_scatter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_v_day_pumping_changes); __Pyx_GIVEREF(__pyx_v_day_pumping_changes); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_v_day_pumping_changes); __Pyx_INCREF(__pyx_v_day_error_changes); __Pyx_GIVEREF(__pyx_v_day_error_changes); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_v_day_error_changes); __pyx_t_9 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_s, __pyx_int_50) < 0) __PYX_ERR(0, 2141, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2141, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_edgecolor, __pyx_n_u_none) < 0) __PYX_ERR(0, 2141, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_alpha, __pyx_float_0_7) < 0) __PYX_ERR(0, 2141, __pyx_L1_error) __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_15, __pyx_t_9); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2141, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+2142: ax1.plot([np.max(day_pumping_changes), np.min(day_pumping_changes)], [(np.max(day_pumping_changes)*coef[0] + coef[1]), np.min(day_pumping_changes)*coef[0] + coef[1]],c='red')
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_plot); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_15, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_min); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_1 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_15, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_1); __pyx_t_9 = 0; __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_9, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_9 = PyNumber_Multiply(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = PyNumber_Add(__pyx_t_9, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_15 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyNumber_Multiply(__pyx_t_15, __pyx_t_3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = PyNumber_Add(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_15); __pyx_t_1 = 0; __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_3); __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2142, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_15, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2143: ax1.set_xlim([np.min(day_pumping_changes), np.max(day_pumping_changes)])
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_xlim); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_15 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_21, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_max); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_1 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_21, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyList_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_1); __pyx_t_15 = 0; __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2144: ax1.set_title(wateryear_day)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_title); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_v_wateryear_day) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_wateryear_day); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2145: counter1 += 1
__pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_v_counter1, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_t_4); __pyx_t_4 = 0;
+2146: if counter1 == 21:
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_counter1, __pyx_int_21, 21, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2146, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2146, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ }
+2147: plt.show()
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_plt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_show); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2148: plt.close()
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_plt); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_close); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2148, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2149: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_plt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_figure); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_fig, __pyx_t_4); __pyx_t_4 = 0;
+2150: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
2151:
2152:
+2153: for x in self.city_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_4 = __pyx_t_12; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2153, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2153, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2153, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2153, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2154: regression_errors[x] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2154, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyDict_SetItem(__pyx_v_regression_errors, __pyx_v_x, __pyx_t_12) < 0)) __PYX_ERR(0, 2154, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2155: regression_errors_timeseries[x] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyDict_SetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x, __pyx_t_12) < 0)) __PYX_ERR(0, 2155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2156: x.demand_auto_errors = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors, __pyx_t_12) < 0) __PYX_ERR(0, 2156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2157: for xx in x.district_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_9 = __pyx_t_12; __Pyx_INCREF(__pyx_t_9); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2157, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2157, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2157, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_11(__pyx_t_9); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2157, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2158: regression_errors[x][xx] = np.zeros((365,numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 2158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2159: regression_errors_timeseries[x][xx] = np.zeros(365*(numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_int_365, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_12 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 2159, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
2160:
+2161: error_changes = np.zeros((365, numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_15, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_error_changes, __pyx_t_12); __pyx_t_12 = 0;
+2162: pumping_changes = np.zeros((365, numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_pumping_changes, __pyx_t_12); __pyx_t_12 = 0;
2163:
+2164: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_XDECREF_SET(__pyx_v_counter1, __pyx_int_1);
2165: #fig = plt.figure()
+2166: for wateryear_day in range(0,365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_12 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_12);
__pyx_t_12 = 0;
2167:
2168: #coef = np.polyfit(sri_forecast_dowy[wateryear_day][urban_start_regression:-1], regression_percent[x][xx][urban_start_regression:-1],1)
+2169: coef = np.polyfit(pumping_forecast_dowy[wateryear_day][urban_start_regression:], regression_percent[x][xx][wateryear_day][urban_start_regression:],1)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_3, __pyx_t_21, __pyx_int_1}; __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_3, __pyx_t_21, __pyx_int_1}; __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_2 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_t_21); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_7, __pyx_int_1); __pyx_t_3 = 0; __pyx_t_21 = 0; __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_2, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_12); __pyx_t_12 = 0;
+2170: if self.use_sensitivity:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2170, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L120; }
+2171: x.delivery_percent_coefficient[xx][wateryear_day][0] = self.sensitivity_factors['urban_wet_year_demand_reduction']['realization']*coef[0]
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_urban_wet_year_demand_reduction); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_Dict_GetItem(__pyx_t_15, __pyx_n_u_realization); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = PyNumber_Multiply(__pyx_t_12, __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_15, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2172: else:
+2173: x.delivery_percent_coefficient[xx][wateryear_day][0] = coef[0]
/*else*/ {
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2173, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(__Pyx_SetItemInt(__pyx_t_15, 0, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2173, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L120:;
2174:
+2175: x.delivery_percent_coefficient[xx][wateryear_day][1] = coef[1]
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_15, 1, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2176: for wateryear_count in range(urban_start_regression,numYears_urban):
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_numYears_urban); __pyx_t_15 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_15)) || PyTuple_CheckExact(__pyx_t_15)) { __pyx_t_2 = __pyx_t_15; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2176, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_15); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2176, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_15); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2176, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } } else { __pyx_t_15 = __pyx_t_17(__pyx_t_2); if (unlikely(!__pyx_t_15)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2176, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_15); } __Pyx_XDECREF_SET(__pyx_v_wateryear_count, __pyx_t_15); __pyx_t_15 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+2177: regression_errors[x][xx][wateryear_day][wateryear_count-urban_start_regression] = pumping_forecast_dowy[wateryear_day][wateryear_count]*x.delivery_percent_coefficient[xx][wateryear_day][0] + x.delivery_percent_coefficient[xx][wateryear_day][1] - regression_percent[x][xx][wateryear_day][wateryear_count]
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_15, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_12, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_21, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Add(__pyx_t_15, __pyx_t_12); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_t_21, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_21, __pyx_t_12) < 0)) __PYX_ERR(0, 2177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2178: regression_errors_timeseries[x][xx][(wateryear_count - urban_start_regression)*365 + wateryear_day] = pumping_forecast_dowy[wateryear_day][wateryear_count]*x.delivery_percent_coefficient[xx][wateryear_day][0] + x.delivery_percent_coefficient[xx][wateryear_day][1] - regression_percent[x][xx][wateryear_day][wateryear_count]
__pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_21, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_t_15, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Add(__pyx_t_12, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_count); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_t_15, __pyx_t_12); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyNumber_Multiply(__pyx_t_12, __pyx_int_365); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Add(__pyx_t_3, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_12, __pyx_t_21) < 0)) __PYX_ERR(0, 2178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2179:
+2180: for wateryear_count in range(urban_start_regression,numYears_urban):
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_numYears_urban); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_2 = __pyx_t_21; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2180, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_21); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2180, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_21); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2180, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_17(__pyx_t_2); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2180, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_wateryear_count, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2181: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_21 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2181, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_21);
__pyx_t_21 = 0;
+2182: if (wateryear_count - urban_start_regression)*365 + wateryear_day > 0:
__pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = PyNumber_Multiply(__pyx_t_21, __pyx_int_365); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Add(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyObject_RichCompare(__pyx_t_21, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { /* … */ } }
+2183: error_changes[wateryear_day][wateryear_count - urban_start_regression] = regression_errors_timeseries[x][xx][(wateryear_count - urban_start_regression)*365 + wateryear_day]*min(wateryear_day/240.0, 1.0) - regression_errors_timeseries[x][xx][(wateryear_count - urban_start_regression)*365 + wateryear_day - 1]*min((wateryear_day-1.0)/240.0, 1.0)
__pyx_t_12 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = PyNumber_Multiply(__pyx_t_12, __pyx_int_365); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Add(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_23 = 1.0; __pyx_t_12 = __Pyx_PyFloat_TrueDivideObjC(__pyx_v_wateryear_day, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_12, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { __pyx_t_1 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __pyx_t_1; __pyx_t_1 = 0; } else { __Pyx_INCREF(__pyx_t_12); __pyx_t_21 = __pyx_t_12; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_15, __pyx_t_21); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_regression_errors_timeseries, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = PyNumber_Multiply(__pyx_t_21, __pyx_int_365); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Add(__pyx_t_1, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_t_21, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_23 = 1.0; __pyx_t_1 = __Pyx_PyFloat_SubtractObjC(__pyx_v_wateryear_day, __pyx_float_1_0, 1.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_1, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = PyObject_RichCompare(__pyx_t_3, __pyx_t_15, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_5) { __pyx_t_14 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = __pyx_t_14; __pyx_t_14 = 0; } else { __Pyx_INCREF(__pyx_t_15); __pyx_t_1 = __pyx_t_15; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_12, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_12, __pyx_t_1) < 0)) __PYX_ERR(0, 2183, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2184: pumping_changes[wateryear_day][wateryear_count - urban_start_regression] = pumping_forecast_timeseries[(wateryear_count - urban_start_regression)*365 + wateryear_day] - pumping_forecast_timeseries[(wateryear_count - urban_start_regression)*365 + wateryear_day - 1]
__pyx_t_1 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyNumber_Multiply(__pyx_t_1, __pyx_int_365); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_timeseries, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyNumber_Multiply(__pyx_t_1, __pyx_int_365); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_15, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_timeseries, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_t_12, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = PyNumber_Subtract(__pyx_v_wateryear_count, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_12, __pyx_t_15) < 0)) __PYX_ERR(0, 2184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
2185:
+2186: x.demand_auto_errors[xx] = np.zeros((365,numYears_urban-urban_start_regression))
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_365); __Pyx_GIVEREF(__pyx_int_365); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_365); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_15, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_1); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(PyObject_SetItem(__pyx_t_12, __pyx_v_xx, __pyx_t_2) < 0)) __PYX_ERR(0, 2186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2187: pumping_forecast_min = -500.0
__pyx_v_pumping_forecast_min = -500.0;
+2188: pumping_forecast_max = 500.0
__pyx_v_pumping_forecast_max = 500.0;
+2189: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_plt); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_figure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_2 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_fig, __pyx_t_2); __pyx_t_2 = 0;
+2190: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
+2191: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2191, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_2);
__pyx_t_2 = 0;
+2192: day_error_changes = error_changes[wateryear_day]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_day_error_changes, __pyx_t_2); __pyx_t_2 = 0;
+2193: day_pumping_changes = pumping_changes[wateryear_day]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_day_pumping_changes, __pyx_t_2); __pyx_t_2 = 0;
+2194: np_list_1_logi = np.logical_and(day_pumping_changes > pumping_forecast_min, day_pumping_changes < pumping_forecast_max)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_logical_and); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_v_pumping_forecast_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyObject_RichCompare(__pyx_v_day_pumping_changes, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_v_pumping_forecast_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = PyObject_RichCompare(__pyx_v_day_pumping_changes, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_15, __pyx_t_21}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_12)) { PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_15, __pyx_t_21}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_12, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_14 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_7, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_7, __pyx_t_21); __pyx_t_15 = 0; __pyx_t_21 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_12, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_np_list_1_logi, __pyx_t_2); __pyx_t_2 = 0;
+2195: day_error_cleaned = day_error_changes[np_list_1_logi]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_day_error_changes, __pyx_v_np_list_1_logi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_day_error_cleaned, __pyx_t_2); __pyx_t_2 = 0;
+2196: day_pumping_cleaned = day_pumping_changes[np_list_1_logi]
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_day_pumping_changes, __pyx_v_np_list_1_logi); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_XDECREF_SET(__pyx_v_day_pumping_cleaned, __pyx_t_2); __pyx_t_2 = 0;
+2197: coef = np.polyfit(day_pumping_cleaned, day_error_cleaned, 1)
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_12)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_12, __pyx_v_day_pumping_cleaned, __pyx_v_day_error_cleaned, __pyx_int_1}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_12, __pyx_v_day_pumping_cleaned, __pyx_v_day_error_cleaned, __pyx_int_1}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_21 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_12); __pyx_t_12 = NULL; } __Pyx_INCREF(__pyx_v_day_pumping_cleaned); __Pyx_GIVEREF(__pyx_v_day_pumping_cleaned); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_7, __pyx_v_day_pumping_cleaned); __Pyx_INCREF(__pyx_v_day_error_cleaned); __Pyx_GIVEREF(__pyx_v_day_error_cleaned); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_7, __pyx_v_day_error_cleaned); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_7, __pyx_int_1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_2); __pyx_t_2 = 0;
+2198: x.delivery_percent_coefficient[xx][wateryear_day][2] = coef[0]
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_14, 2, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2198, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2199: x.delivery_percent_coefficient[xx][wateryear_day][3] = coef[1]
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_14, 3, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2199, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2200: for y in range(urban_start_regression, numYears_urban):
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_numYears_urban); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_2 = __pyx_t_14; __Pyx_INCREF(__pyx_t_2); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2200, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2200, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2200, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_17(__pyx_t_2); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2200, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2201: x.demand_auto_errors[xx][wateryear_day][y-urban_start_regression] = pumping_changes[wateryear_day][y - urban_start_regression] * x.delivery_percent_coefficient[xx][wateryear_day][2] + x.delivery_percent_coefficient[xx][wateryear_day][3] - error_changes[wateryear_day][y - urban_start_regression]
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_pumping_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_21); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_21, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Multiply(__pyx_t_12, __pyx_t_14); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_GetItemInt(__pyx_t_14, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Add(__pyx_t_21, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_error_changes, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_21 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_t_14, __pyx_t_15); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_auto_errors); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Subtract(__pyx_v_y, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_14, __pyx_t_21) < 0)) __PYX_ERR(0, 2201, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
2202:
+2203: if x.key == 'XXX':
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2203, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_XXX, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2203, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { /* … */ } }
+2204: ax1 = fig.add_subplot(4,5,counter1)
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_fig, __pyx_n_s_add_subplot); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2204, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2204, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_15 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, __pyx_int_4); __Pyx_INCREF(__pyx_int_5); __Pyx_GIVEREF(__pyx_int_5); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_int_5); __Pyx_INCREF(__pyx_v_counter1); __Pyx_GIVEREF(__pyx_v_counter1); PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_7, __pyx_v_counter1); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_15, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_ax1, __pyx_t_2); __pyx_t_2 = 0;
+2205: ax1.scatter(day_pumping_changes, day_error_changes, s=50, c='red', edgecolor='none', alpha=0.7)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_scatter); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_v_day_pumping_changes); __Pyx_GIVEREF(__pyx_v_day_pumping_changes); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_v_day_pumping_changes); __Pyx_INCREF(__pyx_v_day_error_changes); __Pyx_GIVEREF(__pyx_v_day_error_changes); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_v_day_error_changes); __pyx_t_15 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_s, __pyx_int_50) < 0) __PYX_ERR(0, 2205, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2205, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_edgecolor, __pyx_n_u_none) < 0) __PYX_ERR(0, 2205, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_15, __pyx_n_s_alpha, __pyx_float_0_7) < 0) __PYX_ERR(0, 2205, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_21, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2206: ax1.plot([np.max(day_pumping_changes), np.min(day_pumping_changes)], [(np.max(day_pumping_changes)*coef[0] + coef[1]), np.min(day_pumping_changes)*coef[0] + coef[1]],c='red')
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_plot); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_15 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_21, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_21, __pyx_n_s_np); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_21, __pyx_n_s_min); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_2 = (__pyx_t_21) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_21, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyList_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_15); PyList_SET_ITEM(__pyx_t_12, 0, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_12, 1, __pyx_t_2); __pyx_t_15 = 0; __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_max); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_15, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = PyNumber_Multiply(__pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = PyNumber_Add(__pyx_t_15, __pyx_t_21); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_21 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_15, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyNumber_Multiply(__pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = PyNumber_Add(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_21); __pyx_t_2 = 0; __pyx_t_21 = 0; __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_1); __pyx_t_12 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2206, __pyx_L1_error) __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_21, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2207: ax1.set_xlim([np.min(day_pumping_changes), np.max(day_pumping_changes)])
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_xlim); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_21 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_14, __pyx_v_day_pumping_changes) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_day_pumping_changes); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyList_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_15, 0, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2208: ax1.set_title(wateryear_day)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_title); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_15, __pyx_v_wateryear_day) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_wateryear_day); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2209: counter1 += 1
__pyx_t_12 = __Pyx_PyInt_AddObjC(__pyx_v_counter1, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_t_12); __pyx_t_12 = 0;
+2210: if counter1 == 21:
__pyx_t_12 = __Pyx_PyInt_EqObjC(__pyx_v_counter1, __pyx_int_21, 21, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2210, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { /* … */ }
+2211: plt.show()
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_plt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_show); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_12 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2212: plt.close()
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_plt); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_close); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_15) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2213: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_plt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_figure); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_12 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF_SET(__pyx_v_fig, __pyx_t_12); __pyx_t_12 = 0;
+2214: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
2215:
2216:
2217:
+2218: for x in self.city_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_9 = __pyx_t_4; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2218, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2218, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2218, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_8(__pyx_t_9); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2218, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2219: for xx in x.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_12 = __pyx_t_4; __Pyx_INCREF(__pyx_t_12); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2219, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2219, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_10); __Pyx_INCREF(__pyx_t_4); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2219, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_12, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_11(__pyx_t_12); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2219, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2220: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_XDECREF_SET(__pyx_v_counter1, __pyx_int_1);
+2221: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_plt); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_figure); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_15) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_15) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_fig, __pyx_t_4); __pyx_t_4 = 0;
+2222: for wateryear_day in range(0,365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_4 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2222, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_4);
__pyx_t_4 = 0;
+2223: coef = np.polyfit(pumping_forecast_dowy[wateryear_day][urban_start_regression:], regression_percent[x][xx][wateryear_day][urban_start_regression:],1)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_polyfit); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_2, __pyx_t_21, __pyx_int_1}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_15)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_t_2, __pyx_t_21, __pyx_int_1}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_15, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_14 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_7, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_7, __pyx_t_21); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_7, __pyx_int_1); __pyx_t_2 = 0; __pyx_t_21 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_t_14, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_XDECREF_SET(__pyx_v_coef, __pyx_t_4); __pyx_t_4 = 0;
+2224: if x.key == "XXX":
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_4, __pyx_n_u_XXX, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ } }
+2225: r = np.corrcoef(pumping_forecast_dowy[wateryear_day][urban_start_regression:], regression_percent[x][xx][wateryear_day][urban_start_regression:])[0,1]
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_corrcoef); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = __Pyx_PyObject_GetSlice(__pyx_t_15, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_15, 0, 0, &__pyx_v_urban_start_regression, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_t_21, __pyx_t_2}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_t_21, __pyx_t_2}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_7, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_tuple__47); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_r, __pyx_t_14); __pyx_t_14 = 0; /* … */ __pyx_tuple__47 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_1); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 2225, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__47); __Pyx_GIVEREF(__pyx_tuple__47);
+2226: sri = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_sri, __pyx_t_14); __pyx_t_14 = 0;
+2227: percent = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_14 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_percent, __pyx_t_14); __pyx_t_14 = 0;
+2228: ax1 = fig.add_subplot(4,5,counter1)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_fig, __pyx_n_s_add_subplot); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; __pyx_t_7 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_7 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_14); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_int_4, __pyx_int_5, __pyx_v_counter1}; __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2228, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_14); } else #endif { __pyx_t_2 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_int_4); __Pyx_GIVEREF(__pyx_int_4); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_int_4); __Pyx_INCREF(__pyx_int_5); __Pyx_GIVEREF(__pyx_int_5); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_int_5); __Pyx_INCREF(__pyx_v_counter1); __Pyx_GIVEREF(__pyx_v_counter1); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_7, __pyx_v_counter1); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_ax1, __pyx_t_14); __pyx_t_14 = 0;
2229:
+2230: for yy in range(urban_start_regression,numYears_urban):
__pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_INCREF(__pyx_v_urban_start_regression); __Pyx_GIVEREF(__pyx_v_urban_start_regression); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_v_urban_start_regression); __Pyx_INCREF(__pyx_v_numYears_urban); __Pyx_GIVEREF(__pyx_v_numYears_urban); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_v_numYears_urban); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_14, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_14 = __pyx_t_4; __Pyx_INCREF(__pyx_t_14); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_17 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2230, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_16); __Pyx_INCREF(__pyx_t_4); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2230, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_14, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_16); __Pyx_INCREF(__pyx_t_4); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2230, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_14, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_17(__pyx_t_14); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2230, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2231: sri[yy] = pumping_forecast_dowy[wateryear_day][yy]
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_v_pumping_forecast_dowy, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_yy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2231, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_v_sri, __pyx_v_yy, __pyx_t_2) < 0)) __PYX_ERR(0, 2231, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2232: percent[yy] = regression_percent[x][xx][wateryear_day][yy]
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear_day); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_yy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_v_percent, __pyx_v_yy, __pyx_t_4) < 0)) __PYX_ERR(0, 2232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2233: ax1.scatter(sri, percent, s=50, c='red', edgecolor='none', alpha=0.7)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_scatter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_sri); __Pyx_GIVEREF(__pyx_v_sri); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_sri); __Pyx_INCREF(__pyx_v_percent); __Pyx_GIVEREF(__pyx_v_percent); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_percent); __pyx_t_2 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_s, __pyx_int_50) < 0) __PYX_ERR(0, 2233, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2233, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_edgecolor, __pyx_n_u_none) < 0) __PYX_ERR(0, 2233, __pyx_L1_error) if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_alpha, __pyx_float_0_7) < 0) __PYX_ERR(0, 2233, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2234: ax1.plot([np.max(sri), 0.0], [(np.max(sri)*coef[0] + coef[1]), coef[1]],c='red')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_plot); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_max); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyList_New(2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_2); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_14, 1, __pyx_float_0_0); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_max); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_21))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); } } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_21, __pyx_t_4, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_21, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_coef, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = PyNumber_Multiply(__pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_t_21); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_GetItemInt(__pyx_v_coef, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = PyList_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_21); __pyx_t_2 = 0; __pyx_t_21 = 0; __pyx_t_21 = PyTuple_New(2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 1, __pyx_t_4); __pyx_t_14 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_c, __pyx_n_u_red) < 0) __PYX_ERR(0, 2234, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_21, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2235: ax1.set_xlim([np.min(sri), np.max(sri)])
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ax1, __pyx_n_s_set_xlim); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_21 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_1, __pyx_v_sri) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_sri); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyList_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_21); PyList_SET_ITEM(__pyx_t_15, 0, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_15, 1, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_15); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2236: counter1 += 1
__pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_v_counter1, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_t_14); __pyx_t_14 = 0;
+2237: if counter1 == 21:
__pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_v_counter1, __pyx_int_21, 21, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_5) { /* … */ }
+2238: plt.show()
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_plt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_show); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2239: plt.close()
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_plt); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_close); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_14 = (__pyx_t_15) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_15) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2240: fig = plt.figure()
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_plt); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_figure); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_15); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF_SET(__pyx_v_fig, __pyx_t_14); __pyx_t_14 = 0;
+2241: counter1 = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_counter1, __pyx_int_1);
2242: #plt.show()
2243: #plt.close()
2244:
2245:
2246:
+2247: if self.model_mode == 'simulation' or self.model_mode == 'climate_ensemble' or self.model_mode == 'sensitivity':
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_simulation, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!__pyx_t_13) { } else { __pyx_t_5 = __pyx_t_13; goto __pyx_L145_bool_binop_done; } __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_climate_ensemble, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!__pyx_t_13) { } else { __pyx_t_5 = __pyx_t_13; goto __pyx_L145_bool_binop_done; } __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = (__Pyx_PyUnicode_Equals(__pyx_t_9, __pyx_n_u_sensitivity, Py_EQ)); if (unlikely(__pyx_t_13 < 0)) __PYX_ERR(0, 2247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __pyx_t_13; __pyx_L145_bool_binop_done:; if (__pyx_t_5) { /* … */ }
+2248: ytd_pumping_int = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_v_ytd_pumping_int = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0;
+2249: for x in urban_list:
__pyx_t_9 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2249, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2250: x.hist_demand_dict = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2250, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict, __pyx_t_12) < 0) __PYX_ERR(0, 2250, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2251: ytd_pumping_int[x] = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_12 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_14, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyDict_SetItem(__pyx_v_ytd_pumping_int, __pyx_v_x, __pyx_t_12) < 0)) __PYX_ERR(0, 2251, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2252: x.hist_demand_dict['annual_sorted'] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_n_u_annual_sorted, __pyx_t_12) < 0)) __PYX_ERR(0, 2252, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2253: x.hist_demand_dict['sorted_index'] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_n_u_sorted_index, __pyx_t_12) < 0)) __PYX_ERR(0, 2253, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2254: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_12 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2254, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_12);
__pyx_t_12 = 0;
+2255: x.hist_demand_dict['annual_sorted'][wateryear_day] = np.sort(regression_annual_hro[urban_start_regression:-1])
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_sort); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_INCREF(__pyx_v_urban_start_regression); __pyx_t_15 = __pyx_v_urban_start_regression; __pyx_t_5 = (__pyx_t_15 == Py_None); if (__pyx_t_5) { __pyx_t_10 = 0; } else { __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_t_15); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2255, __pyx_L1_error) __pyx_t_10 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyList_GetSlice(__pyx_v_regression_annual_hro, __pyx_t_10, -1L); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_12 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_annual_sorted); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_wateryear_day, __pyx_t_12) < 0)) __PYX_ERR(0, 2255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2256: x.hist_demand_dict['sorted_index'][wateryear_day] = np.argsort(regression_annual_hro[urban_start_regression:-1])
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_argsort); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_INCREF(__pyx_v_urban_start_regression); __pyx_t_15 = __pyx_v_urban_start_regression; __pyx_t_5 = (__pyx_t_15 == Py_None); if (__pyx_t_5) { __pyx_t_10 = 0; } else { __pyx_t_16 = __Pyx_PyIndex_AsSsize_t(__pyx_t_15); if (unlikely((__pyx_t_16 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2256, __pyx_L1_error) __pyx_t_10 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyList_GetSlice(__pyx_v_regression_annual_hro, __pyx_t_10, -1L); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_12 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_14, __pyx_n_u_sorted_index); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_wateryear_day, __pyx_t_12) < 0)) __PYX_ERR(0, 2256, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; }
+2257: x.hist_demand_dict['daily_fractions'] = np.zeros((len(regression_annual[x]) - urban_start_regression,366))
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_regression_annual, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_10 = PyObject_Length(__pyx_t_15); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyInt_FromSsize_t(__pyx_t_10); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = PyNumber_Subtract(__pyx_t_15, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_4); __Pyx_INCREF(__pyx_int_366); __Pyx_GIVEREF(__pyx_int_366); PyTuple_SET_ITEM(__pyx_t_15, 1, __pyx_int_366); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_12 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_15); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_n_u_daily_fractions, __pyx_t_12) < 0)) __PYX_ERR(0, 2257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2258: for x in self.city_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_12 = __pyx_t_9; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2258, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2258, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2258, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2258, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2259: x.hist_demand_dict = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict, __pyx_t_9) < 0) __PYX_ERR(0, 2259, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2260: ytd_pumping_int[x] = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyDict_SetItem(__pyx_v_ytd_pumping_int, __pyx_v_x, __pyx_t_9) < 0)) __PYX_ERR(0, 2260, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2261: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_14 = __pyx_t_9; __Pyx_INCREF(__pyx_t_14); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2261, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2261, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2261, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_14); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2261, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2262: x.hist_demand_dict[xx] = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 2262, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2263: ytd_pumping_int[x][xx] = np.zeros(numYears_urban)
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_15, __pyx_v_numYears_urban) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_numYears_urban); __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 2263, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2264: x.hist_demand_dict[xx]['annual_sorted'] = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_n_u_annual_sorted, __pyx_t_9) < 0)) __PYX_ERR(0, 2264, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2265: x.hist_demand_dict[xx]['sorted_index'] = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_n_u_sorted_index, __pyx_t_9) < 0)) __PYX_ERR(0, 2265, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2266: for wateryear_day in range(0, 365):
for (__pyx_t_22 = 0; __pyx_t_22 < 0x16D; __pyx_t_22+=1) {
__pyx_t_9 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2266, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_XDECREF_SET(__pyx_v_wateryear_day, __pyx_t_9);
__pyx_t_9 = 0;
+2267: x.hist_demand_dict[xx]['annual_sorted'][wateryear_day] = np.sort(regression_annual_hro[urban_start_regression:-1])
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sort); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_v_urban_start_regression); __pyx_t_4 = __pyx_v_urban_start_regression; __pyx_t_5 = (__pyx_t_4 == Py_None); if (__pyx_t_5) { __pyx_t_16 = 0; } else { __pyx_t_18 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_18 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2267, __pyx_L1_error) __pyx_t_16 = __pyx_t_18; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyList_GetSlice(__pyx_v_regression_annual_hro, __pyx_t_16, -1L); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_2, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_4); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_annual_sorted); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_wateryear_day, __pyx_t_9) < 0)) __PYX_ERR(0, 2267, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2268: x.hist_demand_dict[xx]['sorted_index'][wateryear_day] = np.argsort(regression_annual_hro[urban_start_regression:-1])
__Pyx_GetModuleGlobalName(__pyx_t_15, __pyx_n_s_np); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_argsort); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_INCREF(__pyx_v_urban_start_regression); __pyx_t_15 = __pyx_v_urban_start_regression; __pyx_t_5 = (__pyx_t_15 == Py_None); if (__pyx_t_5) { __pyx_t_16 = 0; } else { __pyx_t_18 = __Pyx_PyIndex_AsSsize_t(__pyx_t_15); if (unlikely((__pyx_t_18 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 2268, __pyx_L1_error) __pyx_t_16 = __pyx_t_18; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyList_GetSlice(__pyx_v_regression_annual_hro, __pyx_t_16, -1L); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_15); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_15, __pyx_n_u_sorted_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_wateryear_day, __pyx_t_9) < 0)) __PYX_ERR(0, 2268, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; }
+2269: x.hist_demand_dict[xx]['daily_fractions'] = np.zeros((numYears_urban - urban_start_regression,366))
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_numYears_urban, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __Pyx_INCREF(__pyx_int_366); __Pyx_GIVEREF(__pyx_int_366); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_366); __pyx_t_4 = 0; __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_15))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_15); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_15); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_15, function); } } __pyx_t_9 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_15, __pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_15, __pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_daily_fractions, __pyx_t_9) < 0)) __PYX_ERR(0, 2269, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2270:
+2271: for t in range(0,urban_historical_T):
__pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_int_0); __Pyx_INCREF(__pyx_v_urban_historical_T); __Pyx_GIVEREF(__pyx_v_urban_historical_T); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_v_urban_historical_T); __pyx_t_14 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_12, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_12 = __pyx_t_14; __Pyx_INCREF(__pyx_t_12); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2271, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2271, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2271, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_12, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_8(__pyx_t_12); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2271, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2272: dowy = index_urban_dowy[t]
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_dowy, __pyx_v_t); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_XDECREF_SET(__pyx_v_dowy, __pyx_t_14); __pyx_t_14 = 0;
+2273: wateryear = index_urban_water_year[t]
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_index_urban_water_year, __pyx_v_t); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_XDECREF_SET(__pyx_v_wateryear, __pyx_t_14); __pyx_t_14 = 0;
+2274: if wateryear >= urban_start_regression:
__pyx_t_14 = PyObject_RichCompare(__pyx_v_wateryear, __pyx_v_urban_start_regression, Py_GE); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2274, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_5) { /* … */ }
+2275: for x in urban_list:
__pyx_t_14 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_14); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2275, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2276: predicted_annual_demand = 1000.0 * self.observed_hro_pred[t] * ((self.observed_hro_pred[t] * x.delivery_percent_coefficient[0][dowy][0] + x.delivery_percent_coefficient[0][dowy][1])*max(240.0 - dowy, 0.0)/240.0 + regression_percent[x][dowy][wateryear]*min(dowy, 240.0)/240.0)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_float_1000_0, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_15, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_23 = 0.0; __pyx_t_15 = __Pyx_PyFloat_SubtractCObj(__pyx_float_240_0, __pyx_v_dowy, 240.0, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_21 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = PyObject_RichCompare(__pyx_t_21, __pyx_t_15, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { __pyx_t_1 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; } else { __Pyx_INCREF(__pyx_t_15); __pyx_t_2 = __pyx_t_15; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_15, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_23 = 240.0; __Pyx_INCREF(__pyx_v_dowy); __pyx_t_4 = __pyx_v_dowy; __pyx_t_21 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_3 = PyObject_RichCompare(__pyx_t_21, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { __pyx_t_3 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; } else { __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_4, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_predicted_annual_demand, __pyx_t_1); __pyx_t_1 = 0;
+2277: if predicted_annual_demand - ytd_pumping_int[x][wateryear] > 0.0:
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_predicted_annual_demand, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2277, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L163; }
+2278: x.hist_demand_dict['daily_fractions'][wateryear - urban_start_regression][dowy] = (x.pumping[0][t])/(predicted_annual_demand - ytd_pumping_int[x][wateryear])
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_predicted_annual_demand, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyNumber_Divide(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_wateryear, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_dowy, __pyx_t_9) < 0)) __PYX_ERR(0, 2278, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2279: else:
+2280: x.hist_demand_dict['daily_fractions'][wateryear - urban_start_regression][dowy] = 0.0/365.0
/*else*/ {
__pyx_t_9 = PyFloat_FromDouble((0.0 / 365.0)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Subtract(__pyx_v_wateryear, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_dowy, __pyx_t_9) < 0)) __PYX_ERR(0, 2280, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__pyx_L163:;
+2281: ytd_pumping_int[x][wateryear] += x.pumping[0][t]
__pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_4 = __pyx_v_wateryear; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_4, __pyx_t_15) < 0)) __PYX_ERR(0, 2281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2282:
+2283: for x in self.city_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_9 = __pyx_t_14; __Pyx_INCREF(__pyx_t_9); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2283, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2283, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_10); __Pyx_INCREF(__pyx_t_14); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2283, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_9, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_11(__pyx_t_9); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2283, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2284: for xx in x.district_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_4 = __pyx_t_14; __Pyx_INCREF(__pyx_t_4); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2284, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2284, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_16); __Pyx_INCREF(__pyx_t_14); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 2284, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_17(__pyx_t_4); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2284, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2285: predicted_annual_demand = 1000.0 * self.observed_hro_pred[t] * ((self.observed_hro_pred[t] * x.delivery_percent_coefficient[xx][dowy][0] + x.delivery_percent_coefficient[xx][dowy][1])*max(240.0 - dowy, 0.0)/240.0 + regression_percent[x][xx][dowy][wateryear]*min(dowy, 240.0)/240.0)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_t); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_float_1000_0, __pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_observed_hro_pred); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_15, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_23 = 0.0; __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_240_0, __pyx_v_dowy, 240.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { __pyx_t_21 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __pyx_t_21; __pyx_t_21 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_15 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_2, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_1, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_regression_percent, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_23 = 240.0; __Pyx_INCREF(__pyx_v_dowy); __pyx_t_1 = __pyx_v_dowy; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_24 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_24); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (__pyx_t_5) { __pyx_t_24 = PyFloat_FromDouble(__pyx_t_23); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_21 = __pyx_t_24; __pyx_t_24 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_21 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_2, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_1, __pyx_float_240_0, 240.0, 0, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_15, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Multiply(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_predicted_annual_demand, __pyx_t_21); __pyx_t_21 = 0;
+2286: if predicted_annual_demand - ytd_pumping_int[x][xx][wateryear] > 0.0:
__pyx_t_21 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_v_predicted_annual_demand, __pyx_t_21); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyObject_RichCompare(__pyx_t_1, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 2286, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L168; }
+2287: x.hist_demand_dict[xx]['daily_fractions'][wateryear - urban_start_regression][dowy] = (x.pumping[xx][t])/(predicted_annual_demand - ytd_pumping_int[x][xx][wateryear])
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Subtract(__pyx_v_predicted_annual_demand, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_21, __pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_21); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_v_dowy, __pyx_t_1) < 0)) __PYX_ERR(0, 2287, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2288: else:
+2289: x.hist_demand_dict[xx]['daily_fractions'][wateryear - urban_start_regression][dowy] = 0.0/365.0
/*else*/ {
__pyx_t_1 = PyFloat_FromDouble((0.0 / 365.0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = PyNumber_Subtract(__pyx_v_wateryear, __pyx_v_urban_start_regression); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_t_21); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_dowy, __pyx_t_1) < 0)) __PYX_ERR(0, 2289, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L168:;
+2290: ytd_pumping_int[x][xx][wateryear] += x.pumping[xx][t]
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_ytd_pumping_int, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_1 = __pyx_v_wateryear; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_21, __pyx_t_15); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(0, 2290, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
2291:
+2292: for x in self.city_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_9 = __pyx_t_12; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2292, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2292, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_12); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2292, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_8(__pyx_t_9); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2292, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2293: x.annual_pumping = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping, __pyx_t_12) < 0) __PYX_ERR(0, 2293, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2294: x.pumping = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_pumping, __pyx_t_12) < 0) __PYX_ERR(0, 2294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2295: for xx in x.district_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_4 = __pyx_t_12; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2295, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2295, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_12); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2295, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_11(__pyx_t_4); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2295, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2296: x.annual_pumping[xx] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_14); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 2296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2297: x.pumping[xx] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_12 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 2297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+2298: for x in urban_list:
__pyx_t_9 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2298, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2299: x.annual_pumping = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping, __pyx_t_4) < 0) __PYX_ERR(0, 2299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2300: x.pumping = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_pumping, __pyx_t_4) < 0) __PYX_ERR(0, 2300, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2301: x.annual_pumping[0] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_1, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(__Pyx_SetItemInt(__pyx_t_14, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2301, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2302: x.pumping[0] = np.zeros(self.T)
__Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_zeros); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_12); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_12, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_1, __pyx_t_14) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_14); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (unlikely(__Pyx_SetItemInt(__pyx_t_12, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2302, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2303:
+2304: for x in urban_list:
__pyx_t_9 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2304, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2305: x.ytd_pumping = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping, __pyx_t_4) < 0) __PYX_ERR(0, 2305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2306: x.ytd_pumping[0] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); } } __pyx_t_4 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_1, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_12); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(__Pyx_SetItemInt(__pyx_t_14, 0, __pyx_t_4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 2306, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2307: for x in self.city_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_4 = __pyx_t_9; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_8 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2307, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2307, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 2307, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2307, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_8(__pyx_t_4); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2307, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2308: x.ytd_pumping = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2308, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping, __pyx_t_9) < 0) __PYX_ERR(0, 2308, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+2309: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_14 = __pyx_t_9; __Pyx_INCREF(__pyx_t_14); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2309, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2309, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 2309, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_14); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2309, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+2310: x.ytd_pumping[xx] = np.zeros(self.number_years)
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_np); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_t_12) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_t_9) < 0)) __PYX_ERR(0, 2310, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
2311:
2312: ###ACTUAL regression coefficients - picked to pass the 'eye test'
2313: #self.southbay.urb_coef[0] = 0.01
2314: #self.centralcoast.urb_coef[0] = 0.0
2315: #self.socal.urb_coef[0] = 0.5
2316: #self.southbay.urb_coef[1] = 104.0
2317: #self.centralcoast.urb_coef[1] = 110.0
2318: #self.socal.urb_coef[1] = 200.0
2319:
2320: #####################################################################################################################
2321: #####################################################################################################################
2322: #####################################################################################################################
2323:
2324:
2325: #####################################################################################################################
2326: ############################# Main simulation (North & South) ###############################################
2327: #####################################################################################################################
2328:
2329:
+2330: def simulate_north(self,t,swp_release, cvp_release, swp_release2, cvp_release2, swp_pump, cvp_pump):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_49simulate_north(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_49simulate_north = {"simulate_north", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_49simulate_north, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_49simulate_north(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_swp_release = 0;
PyObject *__pyx_v_cvp_release = 0;
PyObject *__pyx_v_swp_release2 = 0;
PyObject *__pyx_v_cvp_release2 = 0;
PyObject *__pyx_v_swp_pump = 0;
PyObject *__pyx_v_cvp_pump = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("simulate_north (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_swp_release,&__pyx_n_s_cvp_release,&__pyx_n_s_swp_release2,&__pyx_n_s_cvp_release2,&__pyx_n_s_swp_pump,&__pyx_n_s_cvp_pump,0};
PyObject* values[8] = {0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 1); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_release)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 2); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_release)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 3); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_release2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 4); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_release2)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 5); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_pump)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 6); __PYX_ERR(0, 2330, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_pump)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, 7); __PYX_ERR(0, 2330, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "simulate_north") < 0)) __PYX_ERR(0, 2330, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 8) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_swp_release = values[2];
__pyx_v_cvp_release = values[3];
__pyx_v_swp_release2 = values[4];
__pyx_v_cvp_release2 = values[5];
__pyx_v_swp_pump = values[6];
__pyx_v_cvp_pump = values[7];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("simulate_north", 1, 8, 8, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2330, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.simulate_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_48simulate_north(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_swp_release, __pyx_v_cvp_release, __pyx_v_swp_release2, __pyx_v_cvp_release2, __pyx_v_swp_pump, __pyx_v_cvp_pump);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_48simulate_north(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_swp_release, PyObject *__pyx_v_cvp_release, PyObject *__pyx_v_swp_release2, PyObject *__pyx_v_cvp_release2, PyObject *__pyx_v_swp_pump, PyObject *__pyx_v_cvp_pump) {
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_da = NULL;
PyObject *__pyx_v_dowy = NULL;
PyObject *__pyx_v_m = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_wateryear = NULL;
PyObject *__pyx_v_year_index = NULL;
PyObject *__pyx_v_NMI = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_cvp_stored_release = NULL;
PyObject *__pyx_v_swp_stored_release = NULL;
PyObject *__pyx_v_cvp_available_storage = NULL;
PyObject *__pyx_v_swp_available_storage = NULL;
double __pyx_v_cvp_flood_storage;
double __pyx_v_swp_flood_storage;
CYTHON_UNUSED PyObject *__pyx_v_swp_extra = NULL;
PyObject *__pyx_v_cvp_max = NULL;
PyObject *__pyx_v_swp_max = NULL;
PyObject *__pyx_v_proj_surplus = NULL;
PyObject *__pyx_v_max_pumping = NULL;
PyObject *__pyx_v_flood_release = NULL;
PyObject *__pyx_v_flood_volume = NULL;
PyObject *__pyx_v_swp_over_dead_pool = NULL;
double __pyx_v_cvp_over_dead_pool;
PyObject *__pyx_v_cvp_max_final = NULL;
PyObject *__pyx_v_swp_max_final = NULL;
PyObject *__pyx_v_cvp_forgone = NULL;
PyObject *__pyx_v_swp_forgone = NULL;
CYTHON_UNUSED PyObject *__pyx_v_swp_reduced = NULL;
PyObject *__pyx_v_cvp_reduced = NULL;
PyObject *__pyx_v_release_switch = NULL;
PyObject *__pyx_v_cvp_stored_flow = NULL;
PyObject *__pyx_v_swp_stored_flow = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__48)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("simulate_north", 0);
__Pyx_TraceCall("simulate_north", __pyx_f[0], 2330, 0, __PYX_ERR(0, 2330, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_swp_release);
__Pyx_INCREF(__pyx_v_cvp_release);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.simulate_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_da);
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_m);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_wateryear);
__Pyx_XDECREF(__pyx_v_year_index);
__Pyx_XDECREF(__pyx_v_NMI);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_cvp_stored_release);
__Pyx_XDECREF(__pyx_v_swp_stored_release);
__Pyx_XDECREF(__pyx_v_cvp_available_storage);
__Pyx_XDECREF(__pyx_v_swp_available_storage);
__Pyx_XDECREF(__pyx_v_swp_extra);
__Pyx_XDECREF(__pyx_v_cvp_max);
__Pyx_XDECREF(__pyx_v_swp_max);
__Pyx_XDECREF(__pyx_v_proj_surplus);
__Pyx_XDECREF(__pyx_v_max_pumping);
__Pyx_XDECREF(__pyx_v_flood_release);
__Pyx_XDECREF(__pyx_v_flood_volume);
__Pyx_XDECREF(__pyx_v_swp_over_dead_pool);
__Pyx_XDECREF(__pyx_v_cvp_max_final);
__Pyx_XDECREF(__pyx_v_swp_max_final);
__Pyx_XDECREF(__pyx_v_cvp_forgone);
__Pyx_XDECREF(__pyx_v_swp_forgone);
__Pyx_XDECREF(__pyx_v_swp_reduced);
__Pyx_XDECREF(__pyx_v_cvp_reduced);
__Pyx_XDECREF(__pyx_v_release_switch);
__Pyx_XDECREF(__pyx_v_cvp_stored_flow);
__Pyx_XDECREF(__pyx_v_swp_stored_flow);
__Pyx_XDECREF(__pyx_v_swp_release);
__Pyx_XDECREF(__pyx_v_cvp_release);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__113 = PyTuple_Pack(41, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_swp_release, __pyx_n_s_cvp_release, __pyx_n_s_swp_release2, __pyx_n_s_cvp_release2, __pyx_n_s_swp_pump, __pyx_n_s_cvp_pump, __pyx_n_s_d, __pyx_n_s_da, __pyx_n_s_dowy, __pyx_n_s_m, __pyx_n_s_y, __pyx_n_s_wateryear, __pyx_n_s_year_index, __pyx_n_s_NMI, __pyx_n_s_x, __pyx_n_s_cvp_stored_release, __pyx_n_s_swp_stored_release, __pyx_n_s_cvp_available_storage, __pyx_n_s_swp_available_storage, __pyx_n_s_cvp_flood_storage, __pyx_n_s_swp_flood_storage, __pyx_n_s_swp_extra, __pyx_n_s_cvp_max, __pyx_n_s_swp_max, __pyx_n_s_proj_surplus, __pyx_n_s_max_pumping, __pyx_n_s_flood_release, __pyx_n_s_flood_volume, __pyx_n_s_swp_over_dead_pool, __pyx_n_s_cvp_over_dead_pool, __pyx_n_s_cvp_max_final, __pyx_n_s_swp_max_final, __pyx_n_s_cvp_forgone, __pyx_n_s_swp_forgone, __pyx_n_s_swp_reduced, __pyx_n_s_cvp_reduced, __pyx_n_s_release_switch, __pyx_n_s_cvp_stored_flow, __pyx_n_s_swp_stored_flow); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 2330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__113);
__Pyx_GIVEREF(__pyx_tuple__113);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_49simulate_north, 0, __pyx_n_s_Model_simulate_north, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_simulate_north, __pyx_t_2) < 0) __PYX_ERR(0, 2330, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(8, 0, 41, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_simulate_north, 2330, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 2330, __pyx_L1_error)
2331: ###Daily Operations###
2332: ##Step forward environmental parameters (snow & flow)
2333: ##Set Delta operating rules
2334: ##Water Balance on each reservoir
2335: ##Decisions - release water for delta export, flood control
+2336: swp_release = 0#turn off any pumping over the E/I ratio 'tax'
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_swp_release, __pyx_int_0);
+2337: cvp_release = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_cvp_release, __pyx_int_0);
2338:
+2339: d = self.day_year[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_d = __pyx_t_2; __pyx_t_2 = 0;
+2340: da = self.day_month[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_da = __pyx_t_1; __pyx_t_1 = 0;
+2341: dowy = self.dowy[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_dowy = __pyx_t_2; __pyx_t_2 = 0;
+2342: m = self.month[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_m = __pyx_t_1; __pyx_t_1 = 0;
+2343: y = self.year[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_y = __pyx_t_2; __pyx_t_2 = 0;
+2344: wateryear = self.water_year[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_water_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_wateryear = __pyx_t_1; __pyx_t_1 = 0;
+2345: year_index = y - self.starting_year
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Subtract(__pyx_v_y, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_year_index = __pyx_t_2; __pyx_t_2 = 0;
2346:
2347: ##WATER YEAR TYPE CLASSIFICATION (for operating rules)
2348: ##WYT uses flow forecasts - gets set every day, may want to decrease frequency (i.e. every month, season)
+2349: NMI = self.calc_wytypes(t,dowy)#NMI (new melones index) - used as input for vernalis control rules
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calc_wytypes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_t, __pyx_v_dowy}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_t, __pyx_v_dowy}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_dowy); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_NMI = __pyx_t_2; __pyx_t_2 = 0;
2350:
2351: ##REAL-WORLD RULE ADJUSTMENTS
2352: ##Updates to reflect SJRR & Yuba Accalfews_srcs occuring during historical time period (1996-2016)
+2353: if self.model_mode == 'validation':
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2353, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2353, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { /* … */ }
+2354: self.update_regulations_north(t,dowy, year_index + self.starting_year)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_update_regulations_north); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Add(__pyx_v_year_index, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy, __pyx_t_3}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy, __pyx_t_3}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_4, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2355:
2356: ####NON-PROJECT USES
2357: ##Find out if reservoir releases need to be made for in-stream uses
+2358: for x in self.reservoir_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 2358, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2358, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_2); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2358, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2358, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2359: x.rights_call(x.downstream[t])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights_call); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_downstream); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_3, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_5); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2360: ##any additional losses before the delta inflow (.downstream member only accounts to downstream trib gauge)
2361: ##must be made up by releases from Shasta and New Melones, respectively
2362: #self.newmelones.rights_call(self.delta.gains_sj[t-1],1)
2363:
2364: ##FIND MINIMUM ENVIRONMENTAL RELEASES
2365: #San Joaquin Tributaries
+2366: for x in [self.newmelones, self.donpedro, self.exchequer]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_7); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (__pyx_t_8 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2366, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2367: x.release_environmental(t, d, m, dowy, self.first_d_of_month[year_index], self.delta.forecastSJWYT)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_release_environmental); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_first_d_of_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSJWYT); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_3, __pyx_t_10}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_3, __pyx_t_10}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_11 = PyTuple_New(6+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_4, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_4, __pyx_t_10); __pyx_t_3 = 0; __pyx_t_10 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2368: #Sacramento Tributaries
+2369: self.oroville.set_oct_nov_rule(t, m)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_set_oct_nov_rule); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_t, __pyx_v_m}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_t, __pyx_v_m}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_11 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_4, __pyx_v_m); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2370: for x in [self.shasta, self.oroville, self.yuba, self.folsom]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_11 = 0; __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_10; __Pyx_INCREF(__pyx_t_5); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2370, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2371: x.release_environmental(t, d, m, dowy, self.first_d_of_month[year_index], self.delta.forecastSCWYT)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_release_environmental); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_first_d_of_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_7, __pyx_t_3}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_7, __pyx_t_3}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_1 = PyTuple_New(6+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_4, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_4, __pyx_t_3); __pyx_t_7 = 0; __pyx_t_3 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_1, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
2372: ##MINIMUM FLOW AT VERNALIS GAUGE(SAN JOAQUIN DELTA INFLOW)
2373: #from self.reservoir.release_environmental() function:
2374: #self.reservoir.gains_to_delta
2375: #self.reservoir.envmin
+2376: self.delta.vernalis_gains = self.newmelones.gains_to_delta + self.donpedro.gains_to_delta + self.exchequer.gains_to_delta + self.delta.gains_sj[t]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gains_to_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_gains_to_delta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_10, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_gains_to_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Add(__pyx_t_5, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_gains_sj); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_11, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__Pyx_PyObject_SetAttrStr(__pyx_t_10, __pyx_n_s_vernalis_gains, __pyx_t_5) < 0) __PYX_ERR(0, 2376, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+2377: self.delta.vernalis_gains += self.newmelones.envmin + self.donpedro.envmin + self.exchequer.envmin
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_vernalis_gains); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_envmin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_envmin); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_envmin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_11, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_10, __pyx_n_s_vernalis_gains, __pyx_t_1) < 0) __PYX_ERR(0, 2377, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
2378: #find additional releases for vernalis control using self.delta.vernalis_gains
+2379: self.exchequer.din, self.donpedro.din, self.newmelones.din = self.delta.calc_vernalis_rule(t,d,y,m,dowy,NMI)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_calc_vernalis_rule); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_t, __pyx_v_d, __pyx_v_y, __pyx_v_m, __pyx_v_dowy, __pyx_v_NMI}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_1, __pyx_v_t, __pyx_v_d, __pyx_v_y, __pyx_v_m, __pyx_v_dowy, __pyx_v_NMI}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_5 = PyTuple_New(6+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_NMI); __Pyx_GIVEREF(__pyx_v_NMI); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_4, __pyx_v_NMI); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { PyObject* sequence = __pyx_t_10; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2379, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_3 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); __pyx_t_1 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); #else __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; index = 0; __pyx_t_3 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_3)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 1; __pyx_t_5 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_5)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 2; __pyx_t_1 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_1)) goto __pyx_L10_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 3) < 0) __PYX_ERR(0, 2379, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L11_unpacking_done; __pyx_L10_unpacking_failed:; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2379, __pyx_L1_error) __pyx_L11_unpacking_done:; } __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_din, __pyx_t_3) < 0) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_din, __pyx_t_5) < 0) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__Pyx_PyObject_SetAttrStr(__pyx_t_11, __pyx_n_s_din, __pyx_t_1) < 0) __PYX_ERR(0, 2379, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+2380: self.delta.vernalis_gains += self.exchequer.din + self.donpedro.din + self.newmelones.din
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_vernalis_gains); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_din); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_din); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_din); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Add(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_10, __pyx_n_s_vernalis_gains, __pyx_t_3) < 0) __PYX_ERR(0, 2380, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
2381:
2382: ##MINIMUM FLOW AT RIO VIST GAUGE (SACRAMENTO DELTA INFLOW)
+2383: for x in [self.shasta, self.oroville, self.yuba, self.folsom]:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_1); __pyx_t_10 = 0; __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2383, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2384: x.find_available_storage(t, m, da, dowy)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_available_storage); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2384, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2384, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_10 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_4, __pyx_v_da); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_4, __pyx_v_dowy); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2385: #additional releases to meet rio vista minimums shared by Sacramento Reservoirs
+2386: cvp_stored_release = self.shasta.envmin + self.folsom.envmin
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_envmin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_envmin); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_cvp_stored_release = __pyx_t_1; __pyx_t_1 = 0;
+2387: swp_stored_release = self.oroville.envmin + self.yuba.envmin
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_envmin); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_envmin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_11, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_swp_stored_release = __pyx_t_1; __pyx_t_1 = 0;
2388: #unstored flow at rio vista comes from tributary gains, environmental releases and sacramento river gains
+2389: self.delta.rio_gains = self.delta.gains_sac[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_gains_sac); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_rio_gains, __pyx_t_1) < 0) __PYX_ERR(0, 2389, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2390: for x in [self.shasta, self.oroville, self.yuba, self.folsom]:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_10); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_11 = 0; __pyx_t_10 = 0; __pyx_t_10 = __pyx_t_3; __Pyx_INCREF(__pyx_t_10); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2390, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_10, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+2391: self.delta.rio_gains += x.gains_to_delta + x.envmin
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_gains); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_gains_to_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_envmin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Add(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_11, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_rio_gains, __pyx_t_5) < 0) __PYX_ERR(0, 2391, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2392: #share rio vista requirements among Sacramento Reservoirs based on self.resevoir.availale_storage
+2393: self.shasta.din, self.oroville.din = self.delta.calc_rio_vista_rule(t, m, cvp_stored_release, swp_stored_release)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_calc_rio_vista_rule); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_cvp_stored_release, __pyx_v_swp_stored_release}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_cvp_stored_release, __pyx_v_swp_stored_release}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_7 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_cvp_stored_release); __Pyx_GIVEREF(__pyx_v_cvp_stored_release); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_4, __pyx_v_cvp_stored_release); __Pyx_INCREF(__pyx_v_swp_stored_release); __Pyx_GIVEREF(__pyx_v_swp_stored_release); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_4, __pyx_v_swp_stored_release); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { PyObject* sequence = __pyx_t_10; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2393, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_7 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_3)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_12(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_7 = __pyx_t_12(__pyx_t_3); if (unlikely(!__pyx_t_7)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_3), 2) < 0) __PYX_ERR(0, 2393, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L17_unpacking_done; __pyx_L16_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2393, __pyx_L1_error) __pyx_L17_unpacking_done:; } __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_din, __pyx_t_5) < 0) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_din, __pyx_t_7) < 0) __PYX_ERR(0, 2393, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2394:
2395: ##MINIMUM DELTA OUTFLOW REQUIREMENTS
2396: #flows to delta come from vernalis, rio vista, and the 'eastside streams' (delta gains)
+2397: self.delta.total_inflow = self.delta.eastside_streams[t] + self.delta.rio_gains + self.delta.vernalis_gains
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_eastside_streams); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_rio_gains); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_vernalis_gains); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__Pyx_PyObject_SetAttrStr(__pyx_t_10, __pyx_n_s_total_inflow, __pyx_t_5) < 0) __PYX_ERR(0, 2397, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+2398: cvp_stored_release += self.shasta.din
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_din); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_cvp_stored_release, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_cvp_stored_release, __pyx_t_10); __pyx_t_10 = 0;
+2399: swp_stored_release += self.oroville.din
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2399, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_din); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2399, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_swp_stored_release, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2399, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_swp_stored_release, __pyx_t_10); __pyx_t_10 = 0;
2400: ##additional releases for delta outflow split between cvp/swp reservoirs
+2401: self.shasta.dout, self.oroville.dout = self.delta.calc_outflow_release(t,m,dowy, cvp_stored_release, swp_stored_release)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_calc_outflow_release); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_cvp_stored_release, __pyx_v_swp_stored_release}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[6] = {__pyx_t_5, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_cvp_stored_release, __pyx_v_swp_stored_release}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_3 = PyTuple_New(5+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_cvp_stored_release); __Pyx_GIVEREF(__pyx_v_cvp_stored_release); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_4, __pyx_v_cvp_stored_release); __Pyx_INCREF(__pyx_v_swp_stored_release); __Pyx_GIVEREF(__pyx_v_swp_stored_release); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_4, __pyx_v_swp_stored_release); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_10))) || (PyList_CheckExact(__pyx_t_10))) { PyObject* sequence = __pyx_t_10; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2401, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_7)) goto __pyx_L18_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_3 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_3)) goto __pyx_L18_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_5), 2) < 0) __PYX_ERR(0, 2401, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L19_unpacking_done; __pyx_L18_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2401, __pyx_L1_error) __pyx_L19_unpacking_done:; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_dout, __pyx_t_7) < 0) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_dout, __pyx_t_3) < 0) __PYX_ERR(0, 2401, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2402:
2403: #TOTAL AVAILABLE PROJECT STORAGE
2404: #based on snowpack based forecast (pre-processed) + current storage
+2405: cvp_available_storage = max(self.folsom.available_storage[t],0.0) + max(self.shasta.available_storage[t],0.0)
__pyx_t_13 = 0.0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyObject_RichCompare(__pyx_t_7, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { __pyx_t_5 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_3 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_13 = 0.0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyObject_RichCompare(__pyx_t_7, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_6) { __pyx_t_11 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = __pyx_t_11; __pyx_t_11 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_5 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_cvp_available_storage = __pyx_t_10; __pyx_t_10 = 0;
+2406: swp_available_storage = max(self.oroville.available_storage[t],0.0) + max(self.yuba.available_storage[t],0.0)
__pyx_t_13 = 0.0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = PyObject_RichCompare(__pyx_t_3, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_6) { __pyx_t_11 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = __pyx_t_11; __pyx_t_11 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_5 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_13 = 0.0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_t); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_6) { __pyx_t_7 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_5, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2406, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_swp_available_storage = __pyx_t_10; __pyx_t_10 = 0;
+2407: cvp_flood_storage = 0.0
__pyx_v_cvp_flood_storage = 0.0;
+2408: swp_flood_storage = 0.0
__pyx_v_swp_flood_storage = 0.0;
2409: #some 'saved' storage in oroville can be used to make non-taxed releases
+2410: swp_extra = self.oroville.use_saved_storage(t, m, dowy, self.delta.forecastSCWYT)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_use_saved_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_t_7}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_t_7}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_3 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_4, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_swp_extra = __pyx_t_10; __pyx_t_10 = 0;
2411: #project if flood pool will be exceeded in the future & find min release rate to avoid reaching the flood pool
2412: #monthly flow projections from self.reservoir.create_flow_shapes (i.e. flood available water)
+2413: for x in [self.shasta, self.folsom, self.oroville, self.yuba]:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyTuple_New(4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_11, 3, __pyx_t_7); __pyx_t_10 = 0; __pyx_t_5 = 0; __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_11); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2413, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2414: x.find_flow_pumping(t, m, dowy, year_index, self.days_in_month, self.dowy_eom, self.delta.forecastSCWYT, 'env')
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_flow_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_year_index, __pyx_t_5, __pyx_t_10, __pyx_t_2, __pyx_n_u_env}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 8+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_year_index, __pyx_t_5, __pyx_t_10, __pyx_t_2, __pyx_n_u_env}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 8+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_14 = PyTuple_New(8+__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_4, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_4, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_n_u_env); __Pyx_GIVEREF(__pyx_n_u_env); PyTuple_SET_ITEM(__pyx_t_14, 7+__pyx_t_4, __pyx_n_u_env); __pyx_t_5 = 0; __pyx_t_10 = 0; __pyx_t_2 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+2415: x.days_til_full[t] = min(x.numdays_fillup['env'], x.numdays_fillup['lookahead'])
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_env); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_14, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2415, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_3); __pyx_t_11 = __pyx_t_3; } else { __Pyx_INCREF(__pyx_t_14); __pyx_t_11 = __pyx_t_14; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_11; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_days_til_full); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_v_t, __pyx_t_3) < 0)) __PYX_ERR(0, 2415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
2416:
2417: ###DETERMINE RELEASES REQUIRED FOR DESIRED PUMPING
2418: ###Uses gains and environmental releases to determine additional releases required for
2419: ###pumping (if desired), given inflow/export requirements, pump constraints, and CVP/SWP sharing of unstored flows
2420: #at-the-pump limits (from BiOps)
+2421: cvp_max, swp_max = self.delta.find_max_pumping(d, dowy, t, self.delta.forecastSCWYT)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_find_max_pumping); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_forecastSCWYT); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_d, __pyx_v_dowy, __pyx_v_t, __pyx_t_14}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_d, __pyx_v_dowy, __pyx_v_t, __pyx_t_14}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_2 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_4, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_4, __pyx_t_14); __pyx_t_14 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2421, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_14)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_14); if (unlikely(!__pyx_t_11)) goto __pyx_L22_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_2 = __pyx_t_12(__pyx_t_14); if (unlikely(!__pyx_t_2)) goto __pyx_L22_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_14), 2) < 0) __PYX_ERR(0, 2421, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L23_unpacking_done; __pyx_L22_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2421, __pyx_L1_error) __pyx_L23_unpacking_done:; } __pyx_v_cvp_max = __pyx_t_11; __pyx_t_11 = 0; __pyx_v_swp_max = __pyx_t_2; __pyx_t_2 = 0;
2422: #OMR rule limits
+2423: cvp_max, swp_max = self.delta.meet_OMR_requirement(t, m, y, dowy,cvp_max, swp_max)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_meet_OMR_requirement); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_dowy, __pyx_v_cvp_max, __pyx_v_swp_max}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_dowy, __pyx_v_cvp_max, __pyx_v_swp_max}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 6+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_14 = PyTuple_New(6+__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_cvp_max); __Pyx_GIVEREF(__pyx_v_cvp_max); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_4, __pyx_v_cvp_max); __Pyx_INCREF(__pyx_v_swp_max); __Pyx_GIVEREF(__pyx_v_swp_max); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_4, __pyx_v_swp_max); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_14, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2423, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_14 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_14); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_11)) goto __pyx_L24_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_14 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_14)) goto __pyx_L24_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_2), 2) < 0) __PYX_ERR(0, 2423, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L25_unpacking_done; __pyx_L24_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2423, __pyx_L1_error) __pyx_L25_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_cvp_max, __pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_swp_max, __pyx_t_14); __pyx_t_14 = 0;
2424:
+2425: proj_surplus, max_pumping = self.proj_gains(t, dowy, m, year_index)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_proj_gains); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_v_year_index}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_v_year_index}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_4, 4+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_2 = PyTuple_New(4+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_4, __pyx_v_year_index); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2425, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_14 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(__pyx_t_2); #else __pyx_t_14 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; index = 0; __pyx_t_14 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_14)) goto __pyx_L26_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); index = 1; __pyx_t_2 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_2)) goto __pyx_L26_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 2425, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L27_unpacking_done; __pyx_L26_unpacking_failed:; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2425, __pyx_L1_error) __pyx_L27_unpacking_done:; } __pyx_v_proj_surplus = __pyx_t_14; __pyx_t_14 = 0; __pyx_v_max_pumping = __pyx_t_2; __pyx_t_2 = 0;
+2426: flood_release = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_flood_release = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0;
+2427: flood_volume = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_flood_volume = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0;
2428: ##Releases in anticipation of flood pool encroachment (not required by flood rules)
+2429: flood_release['swp'] = self.oroville.min_daily_uncontrolled
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_release, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 2429, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2430: flood_release['cvp'] = self.shasta.min_daily_uncontrolled
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_release, __pyx_n_u_cvp, __pyx_t_7) < 0)) __PYX_ERR(0, 2430, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2431: flood_volume['swp'] = self.oroville.uncontrolled_available
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_uncontrolled_available); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_volume, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 2431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2432: flood_volume['cvp'] = self.shasta.uncontrolled_available
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_uncontrolled_available); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_volume, __pyx_n_u_cvp, __pyx_t_7) < 0)) __PYX_ERR(0, 2432, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2433: swp_over_dead_pool = self.oroville.find_emergency_supply(t, m, dowy)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_find_emergency_supply); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_dowy}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_dowy}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_11 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_4, __pyx_v_dowy); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_11, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_swp_over_dead_pool = __pyx_t_7; __pyx_t_7 = 0;
+2434: cvp_over_dead_pool = 0.0
__pyx_v_cvp_over_dead_pool = 0.0;
2435: ##Distribute 'available storage' seasonally to maximize pumping under E/I ratio requirements (i.e., pump when E/I ratio is highest)
+2436: cvp_max_final, swp_max_final = self.delta.find_release(t, m, y, year_index, dowy, self.days_in_month, self.dowy_eom, cvp_max, swp_max, cvp_available_storage, swp_available_storage, cvp_release, swp_release, proj_surplus, max_pumping)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_find_release); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[16] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_year_index, __pyx_v_dowy, __pyx_t_14, __pyx_t_2, __pyx_v_cvp_max, __pyx_v_swp_max, __pyx_v_cvp_available_storage, __pyx_v_swp_available_storage, __pyx_v_cvp_release, __pyx_v_swp_release, __pyx_v_proj_surplus, __pyx_v_max_pumping}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 15+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[16] = {__pyx_t_3, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_year_index, __pyx_v_dowy, __pyx_t_14, __pyx_t_2, __pyx_v_cvp_max, __pyx_v_swp_max, __pyx_v_cvp_available_storage, __pyx_v_swp_available_storage, __pyx_v_cvp_release, __pyx_v_swp_release, __pyx_v_proj_surplus, __pyx_v_max_pumping}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 15+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_10 = PyTuple_New(15+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_4, __pyx_v_year_index); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_10, 4+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_10, 5+__pyx_t_4, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 6+__pyx_t_4, __pyx_t_2); __Pyx_INCREF(__pyx_v_cvp_max); __Pyx_GIVEREF(__pyx_v_cvp_max); PyTuple_SET_ITEM(__pyx_t_10, 7+__pyx_t_4, __pyx_v_cvp_max); __Pyx_INCREF(__pyx_v_swp_max); __Pyx_GIVEREF(__pyx_v_swp_max); PyTuple_SET_ITEM(__pyx_t_10, 8+__pyx_t_4, __pyx_v_swp_max); __Pyx_INCREF(__pyx_v_cvp_available_storage); __Pyx_GIVEREF(__pyx_v_cvp_available_storage); PyTuple_SET_ITEM(__pyx_t_10, 9+__pyx_t_4, __pyx_v_cvp_available_storage); __Pyx_INCREF(__pyx_v_swp_available_storage); __Pyx_GIVEREF(__pyx_v_swp_available_storage); PyTuple_SET_ITEM(__pyx_t_10, 10+__pyx_t_4, __pyx_v_swp_available_storage); __Pyx_INCREF(__pyx_v_cvp_release); __Pyx_GIVEREF(__pyx_v_cvp_release); PyTuple_SET_ITEM(__pyx_t_10, 11+__pyx_t_4, __pyx_v_cvp_release); __Pyx_INCREF(__pyx_v_swp_release); __Pyx_GIVEREF(__pyx_v_swp_release); PyTuple_SET_ITEM(__pyx_t_10, 12+__pyx_t_4, __pyx_v_swp_release); __Pyx_INCREF(__pyx_v_proj_surplus); __Pyx_GIVEREF(__pyx_v_proj_surplus); PyTuple_SET_ITEM(__pyx_t_10, 13+__pyx_t_4, __pyx_v_proj_surplus); __Pyx_INCREF(__pyx_v_max_pumping); __Pyx_GIVEREF(__pyx_v_max_pumping); PyTuple_SET_ITEM(__pyx_t_10, 14+__pyx_t_4, __pyx_v_max_pumping); __pyx_t_14 = 0; __pyx_t_2 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2436, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_10 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_11)) goto __pyx_L28_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_10 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_10)) goto __pyx_L28_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_2), 2) < 0) __PYX_ERR(0, 2436, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L29_unpacking_done; __pyx_L28_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2436, __pyx_L1_error) __pyx_L29_unpacking_done:; } __pyx_v_cvp_max_final = __pyx_t_11; __pyx_t_11 = 0; __pyx_v_swp_max_final = __pyx_t_10; __pyx_t_10 = 0;
2437:
2438: #if pumping is turned 'off' (b/c SL conditions), calculate how much forgone pumping to take away from SL carryover storage (southern model input)
+2439: cvp_forgone = max(cvp_max - cvp_pump, 0.0)
__pyx_t_13 = 0.0; __pyx_t_7 = PyNumber_Subtract(__pyx_v_cvp_max, __pyx_v_cvp_pump); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = PyObject_RichCompare(__pyx_t_11, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2439, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2439, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __pyx_t_2 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_INCREF(__pyx_t_7); __pyx_t_10 = __pyx_t_7; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_cvp_forgone = __pyx_t_7; __pyx_t_7 = 0;
+2440: swp_forgone = max(swp_max - swp_pump, 0.0)
__pyx_t_13 = 0.0; __pyx_t_7 = PyNumber_Subtract(__pyx_v_swp_max, __pyx_v_swp_pump); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_6) { __pyx_t_11 = PyFloat_FromDouble(__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __pyx_t_11; __pyx_t_11 = 0; } else { __Pyx_INCREF(__pyx_t_7); __pyx_t_10 = __pyx_t_7; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_swp_forgone = __pyx_t_7; __pyx_t_7 = 0;
2441: #swp_forgone, swp_max_final = self.delta.hypothetical_pumping(t, m, swp_max, swp_max_final, swp_release2, 0.45)
2442: #find additional releases to pump at the desired levels
+2443: cvp_max = min(cvp_max, cvp_pump)#don't release 'tax free' pumping in excess of storage capacity at SL
__Pyx_INCREF(__pyx_v_cvp_pump); __pyx_t_7 = __pyx_v_cvp_pump; __Pyx_INCREF(__pyx_v_cvp_max); __pyx_t_10 = __pyx_v_cvp_max; __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2443, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2443, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_cvp_max, __pyx_t_7); __pyx_t_7 = 0;
+2444: swp_max = min(swp_max, swp_pump)#don't release 'tax free' pumping in excess of storage capacity at SL
__Pyx_INCREF(__pyx_v_swp_pump); __pyx_t_7 = __pyx_v_swp_pump; __Pyx_INCREF(__pyx_v_swp_max); __pyx_t_11 = __pyx_v_swp_max; __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2444, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2444, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_10 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_10 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_swp_max, __pyx_t_7); __pyx_t_7 = 0;
+2445: cvp_max_final = min(cvp_max_final, cvp_pump)
__Pyx_INCREF(__pyx_v_cvp_pump); __pyx_t_7 = __pyx_v_cvp_pump; __Pyx_INCREF(__pyx_v_cvp_max_final); __pyx_t_10 = __pyx_v_cvp_max_final; __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2445, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2445, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_cvp_max_final, __pyx_t_7); __pyx_t_7 = 0;
+2446: swp_max_final = min(swp_max_final, swp_pump)
__Pyx_INCREF(__pyx_v_swp_pump); __pyx_t_7 = __pyx_v_swp_pump; __Pyx_INCREF(__pyx_v_swp_max_final); __pyx_t_11 = __pyx_v_swp_max_final; __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2446, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2446, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_10 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_10 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_swp_max_final, __pyx_t_7); __pyx_t_7 = 0;
2447: #calculates releases to pump at desired levels (either cvp/swp_max or non-taxed levels, based on min outflow & i/e rules)
+2448: swp_reduced, cvp_reduced = self.delta.calc_flow_bounds(t, m, y, year_index, d, dowy, self.dowy_eom, cvp_max_final, swp_max_final, cvp_max, swp_max, cvp_release2, swp_release2, cvp_available_storage, swp_available_storage, flood_release['cvp'], flood_release['swp'], swp_over_dead_pool, cvp_over_dead_pool, flood_volume['swp'], flood_volume['cvp'], min(self.oroville.numdays_fillup['env'],self.oroville.numdays_fillup['lookahead']), min(self.shasta.numdays_fillup['env'],self.shasta.numdays_fillup['lookahead']) )
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_calc_flow_bounds); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_flood_release, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_release, __pyx_n_u_swp); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_cvp_over_dead_pool); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_flood_volume, __pyx_n_u_swp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_flood_volume, __pyx_n_u_cvp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_16, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_n_u_env); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_15, __pyx_t_16, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2448, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_15); __pyx_t_17 = __pyx_t_15; } else { __Pyx_INCREF(__pyx_t_16); __pyx_t_17 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_16, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_Dict_GetItem(__pyx_t_18, __pyx_n_u_env); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_19 = PyObject_RichCompare(__pyx_t_15, __pyx_t_16, Py_LT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 2448, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_15); __pyx_t_18 = __pyx_t_15; } else { __Pyx_INCREF(__pyx_t_16); __pyx_t_18 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[24] = {__pyx_t_15, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_year_index, __pyx_v_d, __pyx_v_dowy, __pyx_t_10, __pyx_v_cvp_max_final, __pyx_v_swp_max_final, __pyx_v_cvp_max, __pyx_v_swp_max, __pyx_v_cvp_release2, __pyx_v_swp_release2, __pyx_v_cvp_available_storage, __pyx_v_swp_available_storage, __pyx_t_2, __pyx_t_14, __pyx_v_swp_over_dead_pool, __pyx_t_3, __pyx_t_5, __pyx_t_1, __pyx_t_17, __pyx_t_18}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 23+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[24] = {__pyx_t_15, __pyx_v_t, __pyx_v_m, __pyx_v_y, __pyx_v_year_index, __pyx_v_d, __pyx_v_dowy, __pyx_t_10, __pyx_v_cvp_max_final, __pyx_v_swp_max_final, __pyx_v_cvp_max, __pyx_v_swp_max, __pyx_v_cvp_release2, __pyx_v_swp_release2, __pyx_v_cvp_available_storage, __pyx_v_swp_available_storage, __pyx_t_2, __pyx_t_14, __pyx_v_swp_over_dead_pool, __pyx_t_3, __pyx_t_5, __pyx_t_1, __pyx_t_17, __pyx_t_18}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 23+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_16 = PyTuple_New(23+__pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_4, __pyx_v_year_index); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_4, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_16, 6+__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_v_cvp_max_final); __Pyx_GIVEREF(__pyx_v_cvp_max_final); PyTuple_SET_ITEM(__pyx_t_16, 7+__pyx_t_4, __pyx_v_cvp_max_final); __Pyx_INCREF(__pyx_v_swp_max_final); __Pyx_GIVEREF(__pyx_v_swp_max_final); PyTuple_SET_ITEM(__pyx_t_16, 8+__pyx_t_4, __pyx_v_swp_max_final); __Pyx_INCREF(__pyx_v_cvp_max); __Pyx_GIVEREF(__pyx_v_cvp_max); PyTuple_SET_ITEM(__pyx_t_16, 9+__pyx_t_4, __pyx_v_cvp_max); __Pyx_INCREF(__pyx_v_swp_max); __Pyx_GIVEREF(__pyx_v_swp_max); PyTuple_SET_ITEM(__pyx_t_16, 10+__pyx_t_4, __pyx_v_swp_max); __Pyx_INCREF(__pyx_v_cvp_release2); __Pyx_GIVEREF(__pyx_v_cvp_release2); PyTuple_SET_ITEM(__pyx_t_16, 11+__pyx_t_4, __pyx_v_cvp_release2); __Pyx_INCREF(__pyx_v_swp_release2); __Pyx_GIVEREF(__pyx_v_swp_release2); PyTuple_SET_ITEM(__pyx_t_16, 12+__pyx_t_4, __pyx_v_swp_release2); __Pyx_INCREF(__pyx_v_cvp_available_storage); __Pyx_GIVEREF(__pyx_v_cvp_available_storage); PyTuple_SET_ITEM(__pyx_t_16, 13+__pyx_t_4, __pyx_v_cvp_available_storage); __Pyx_INCREF(__pyx_v_swp_available_storage); __Pyx_GIVEREF(__pyx_v_swp_available_storage); PyTuple_SET_ITEM(__pyx_t_16, 14+__pyx_t_4, __pyx_v_swp_available_storage); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_16, 15+__pyx_t_4, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 16+__pyx_t_4, __pyx_t_14); __Pyx_INCREF(__pyx_v_swp_over_dead_pool); __Pyx_GIVEREF(__pyx_v_swp_over_dead_pool); PyTuple_SET_ITEM(__pyx_t_16, 17+__pyx_t_4, __pyx_v_swp_over_dead_pool); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_16, 18+__pyx_t_4, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_16, 19+__pyx_t_4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_16, 20+__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_17); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_16, 21+__pyx_t_4, __pyx_t_17); __Pyx_INCREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_16, 22+__pyx_t_4, __pyx_t_18); __pyx_t_10 = 0; __pyx_t_2 = 0; __pyx_t_14 = 0; __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_16, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2448, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_16 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_16 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_16); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_16 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_11)) goto __pyx_L30_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_16 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_16)) goto __pyx_L30_unpacking_failed; __Pyx_GOTREF(__pyx_t_16); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_18), 2) < 0) __PYX_ERR(0, 2448, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; goto __pyx_L31_unpacking_done; __pyx_L30_unpacking_failed:; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2448, __pyx_L1_error) __pyx_L31_unpacking_done:; } __pyx_v_swp_reduced = __pyx_t_11; __pyx_t_11 = 0; __pyx_v_cvp_reduced = __pyx_t_16; __pyx_t_16 = 0;
+2449: cvp_forgone = max(cvp_forgone, cvp_reduced)
__Pyx_INCREF(__pyx_v_cvp_reduced); __pyx_t_7 = __pyx_v_cvp_reduced; __Pyx_INCREF(__pyx_v_cvp_forgone); __pyx_t_16 = __pyx_v_cvp_forgone; __pyx_t_18 = PyObject_RichCompare(__pyx_t_7, __pyx_t_16, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2449, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2449, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_16); __pyx_t_11 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_cvp_forgone, __pyx_t_7); __pyx_t_7 = 0;
+2450: swp_forgone = max(cvp_forgone, cvp_reduced)
__Pyx_INCREF(__pyx_v_cvp_reduced); __pyx_t_7 = __pyx_v_cvp_reduced; __Pyx_INCREF(__pyx_v_cvp_forgone); __pyx_t_11 = __pyx_v_cvp_forgone; __pyx_t_18 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2450, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2450, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_16 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_16 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_16; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_swp_forgone, __pyx_t_7); __pyx_t_7 = 0;
2451:
2452: #distribute releases for export between Sacramento River Reservoirs
+2453: self.shasta.sodd, self.folsom.sodd = self.delta.distribute_export_releases(t, cvp_max, self.delta.sodd_cvp[t], self.shasta.flood_storage[t], self.folsom.flood_storage[t], self.shasta.available_storage[t], self.folsom.available_storage[t])
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_distribute_export_releases); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_sodd_cvp); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_t); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_flood_storage); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_flood_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_v_t, __pyx_v_cvp_max, __pyx_t_16, __pyx_t_18, __pyx_t_17, __pyx_t_1, __pyx_t_5}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 7+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_v_t, __pyx_v_cvp_max, __pyx_t_16, __pyx_t_18, __pyx_t_17, __pyx_t_1, __pyx_t_5}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 7+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_14 = PyTuple_New(7+__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_cvp_max); __Pyx_GIVEREF(__pyx_v_cvp_max); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_4, __pyx_v_cvp_max); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_4, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_4, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_4, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_4, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_4, __pyx_t_5); __pyx_t_16 = 0; __pyx_t_18 = 0; __pyx_t_17 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_14, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2453, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_14 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_14); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_11)) goto __pyx_L32_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_14 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_14)) goto __pyx_L32_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_5), 2) < 0) __PYX_ERR(0, 2453, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L33_unpacking_done; __pyx_L32_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2453, __pyx_L1_error) __pyx_L33_unpacking_done:; } __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_sodd, __pyx_t_14) < 0) __PYX_ERR(0, 2453, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2454: self.oroville.sodd, self.yuba.sodd = self.delta.distribute_export_releases(t, swp_max, self.delta.sodd_swp[t], self.oroville.flood_storage[t], self.yuba.flood_storage[t], self.oroville.available_storage[t], self.yuba.available_storage[t])
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_distribute_export_releases); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_sodd_swp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_flood_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flood_storage); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_t); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[8] = {__pyx_t_16, __pyx_v_t, __pyx_v_swp_max, __pyx_t_14, __pyx_t_5, __pyx_t_1, __pyx_t_17, __pyx_t_18}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 7+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[8] = {__pyx_t_16, __pyx_v_t, __pyx_v_swp_max, __pyx_t_14, __pyx_t_5, __pyx_t_1, __pyx_t_17, __pyx_t_18}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 7+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_3 = PyTuple_New(7+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_swp_max); __Pyx_GIVEREF(__pyx_v_swp_max); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_swp_max); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_4, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_4, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_4, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_4, __pyx_t_18); __pyx_t_14 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2454, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_11 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_3); #else __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; index = 0; __pyx_t_11 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_11)) goto __pyx_L34_unpacking_failed; __Pyx_GOTREF(__pyx_t_11); index = 1; __pyx_t_3 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_3)) goto __pyx_L34_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_18), 2) < 0) __PYX_ERR(0, 2454, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; goto __pyx_L35_unpacking_done; __pyx_L34_unpacking_failed:; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2454, __pyx_L1_error) __pyx_L35_unpacking_done:; } __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_sodd, __pyx_t_3) < 0) __PYX_ERR(0, 2454, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2455: if self.shasta.sodd > self.shasta.S[t] - self.shasta.dead_pool:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_S); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_dead_pool); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_t_7, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_3, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2455, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { /* … */ }
+2456: self.shasta.sodd = 0.0
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_sodd, __pyx_float_0_0) < 0) __PYX_ERR(0, 2456, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2457: if self.oroville.sodd > self.oroville.S[t] - self.oroville.dead_pool:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dead_pool); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_18, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2457, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_6) { /* … */ }
+2458: self.oroville.sodd = 0.0
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_float_0_0) < 0) __PYX_ERR(0, 2458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2459:
2460: ##Releases for export from reservoirs with flood control encroachment
+2461: if self.shasta.sodd < self.shasta.min_daily_uncontrolled and self.folsom.sodd > self.folsom.min_daily_uncontrolled:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_20) { } else { __pyx_t_6 = __pyx_t_20; goto __pyx_L39_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_20; __pyx_L39_bool_binop_done:; if (__pyx_t_6) { /* … */ goto __pyx_L38; }
+2462: release_switch = min(self.folsom.sodd - self.folsom.min_daily_uncontrolled, self.shasta.min_daily_uncontrolled - self.shasta.sodd)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_t_3, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2462, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2462, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_18 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_18 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_18; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_release_switch = __pyx_t_7; __pyx_t_7 = 0;
+2463: self.shasta.sodd += release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_v_release_switch); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2463, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2464: self.folsom.sodd -= release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = PyNumber_InPlaceSubtract(__pyx_t_11, __pyx_v_release_switch); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_18) < 0) __PYX_ERR(0, 2464, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2465: elif self.shasta.sodd > self.shasta.min_daily_uncontrolled and self.folsom.sodd < self.folsom.min_daily_uncontrolled:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_18, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_20) { } else { __pyx_t_6 = __pyx_t_20; goto __pyx_L41_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_18, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2465, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_20; __pyx_L41_bool_binop_done:; if (__pyx_t_6) { /* … */ } __pyx_L38:;
+2466: release_switch = min(self.shasta.sodd - self.shasta.min_daily_uncontrolled, self.folsom.min_daily_uncontrolled - self.folsom.sodd)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_18, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2466, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2466, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_3 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_3 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_3; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_release_switch = __pyx_t_7; __pyx_t_7 = 0;
+2467: self.shasta.sodd -= release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = PyNumber_InPlaceSubtract(__pyx_t_3, __pyx_v_release_switch); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2467, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2467, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2468: self.folsom.sodd += release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_11, __pyx_v_release_switch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_3) < 0) __PYX_ERR(0, 2468, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2469:
+2470: if self.oroville.sodd < self.oroville.min_daily_uncontrolled and self.yuba.sodd > self.yuba.min_daily_uncontrolled:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_20) { } else { __pyx_t_6 = __pyx_t_20; goto __pyx_L44_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_20; __pyx_L44_bool_binop_done:; if (__pyx_t_6) { /* … */ goto __pyx_L43; }
+2471: release_switch = min(self.yuba.sodd - self.yuba.min_daily_uncontrolled, self.oroville.min_daily_uncontrolled - self.oroville.sodd)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_3, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_t_3, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2471, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2471, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_18 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_18 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_18; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_release_switch, __pyx_t_7); __pyx_t_7 = 0;
+2472: self.oroville.sodd += release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_v_release_switch); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2472, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2473: self.yuba.sodd -= release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = PyNumber_InPlaceSubtract(__pyx_t_11, __pyx_v_release_switch); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_18) < 0) __PYX_ERR(0, 2473, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2474: elif self.oroville.sodd > self.oroville.min_daily_uncontrolled and self.yuba.sodd < self.yuba.min_daily_uncontrolled:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_18, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_20) { } else { __pyx_t_6 = __pyx_t_20; goto __pyx_L46_bool_binop_done; } __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_18, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_20 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_20 < 0)) __PYX_ERR(0, 2474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_6 = __pyx_t_20; __pyx_L46_bool_binop_done:; if (__pyx_t_6) { /* … */ } __pyx_L43:;
+2475: release_switch = min(self.oroville.sodd - self.oroville.min_daily_uncontrolled, self.yuba.min_daily_uncontrolled - self.yuba.sodd)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_18, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_sodd); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Subtract(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_7, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2475, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 2475, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { __Pyx_INCREF(__pyx_t_7); __pyx_t_3 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_3 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_3; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_release_switch, __pyx_t_7); __pyx_t_7 = 0;
+2476: self.yuba.sodd += release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_v_release_switch); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_11) < 0) __PYX_ERR(0, 2476, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2477: self.oroville.sodd -= release_switch
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = PyNumber_InPlaceSubtract(__pyx_t_11, __pyx_v_release_switch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2477, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sodd, __pyx_t_3) < 0) __PYX_ERR(0, 2477, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2478:
2479:
2480: ##SAN JOAQUIN RESERVOIR OPERATIONS
2481: ##lower SJ basins - no 'release for exports' but used to meet delta targets @ vernalis
2482: ##Water Balance
+2483: for x in [self.newmelones, self.donpedro, self.exchequer]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = PyTuple_New(3); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_18, 2, __pyx_t_11); __pyx_t_7 = 0; __pyx_t_3 = 0; __pyx_t_11 = 0; __pyx_t_11 = __pyx_t_18; __Pyx_INCREF(__pyx_t_11); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (__pyx_t_8 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_8); __Pyx_INCREF(__pyx_t_18); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2483, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_11, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+2484: x.step(t)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_step); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_18 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_7, __pyx_v_t) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_t); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2485: #forced spills also go to delta
+2486: self.delta.total_inflow += x.force_spill
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_total_inflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_force_spill); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_total_inflow, __pyx_t_17) < 0) __PYX_ERR(0, 2486, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2487:
2488:
2489: #SACRAMENTO RESERVOIR OPERATIONS
2490: ##Water balance at each Northern Reservoir
+2491: self.shasta.rights_call(self.delta.ccc[t]*-1.0,1)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_rights_call); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_ccc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_18, __pyx_float_neg_1_0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_t_7, __pyx_int_1}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_18, __pyx_t_7, __pyx_int_1}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_int_1); __pyx_t_7 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_3, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+2492: self.oroville.rights_call(self.delta.barkerslough[t]*-1.0,1)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_rights_call); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_barkerslough); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_17, __pyx_float_neg_1_0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_7, __pyx_int_1}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_17, __pyx_t_7, __pyx_int_1}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_18 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_4, __pyx_int_1); __pyx_t_7 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_18, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+2493: for x in [self.shasta, self.oroville, self.yuba, self.folsom]:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = PyTuple_New(4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 1, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_17, 2, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_17, 3, __pyx_t_7); __pyx_t_11 = 0; __pyx_t_3 = 0; __pyx_t_18 = 0; __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_17; __Pyx_INCREF(__pyx_t_7); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_8); __Pyx_INCREF(__pyx_t_17); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 2493, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_7, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2494: x.step(t)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_step); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); } } __pyx_t_17 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_3, __pyx_v_t) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_v_t); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
2495: #forced spills also go to delta
+2496: self.delta.total_inflow += x.force_spill
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_total_inflow); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_force_spill); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_t_17, __pyx_n_s_total_inflow, __pyx_t_11) < 0) __PYX_ERR(0, 2496, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
2497:
2498:
2499: ###DELTA OPERATIONS
2500: ##Given delta inflows (from gains and reservoir releases), find pumping
2501: #cvp_stored_flow = self.shasta.R_to_delta[t] + self.folsom.R_to_delta[t]
2502: #swp_stored_flow = self.oroville.R_to_delta[t] + self.yuba.R_to_delta[t]
+2503: cvp_stored_flow = self.shasta.sodd + self.folsom.sodd
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_17, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_v_cvp_stored_flow = __pyx_t_7; __pyx_t_7 = 0;
+2504: swp_stored_flow = self.oroville.sodd + self.yuba.sodd
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sodd); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_11, __pyx_t_17); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_v_swp_stored_flow = __pyx_t_7; __pyx_t_7 = 0;
2505:
2506: ##route all water through delta rules to determine pumping
+2507: self.delta.step(t, d, da, m, y, wateryear, dowy, cvp_stored_flow, swp_stored_flow, swp_pump, cvp_pump, swp_available_storage, cvp_available_storage)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_step); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = NULL; __pyx_t_4 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_11); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_11, function); __pyx_t_4 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[14] = {__pyx_t_17, __pyx_v_t, __pyx_v_d, __pyx_v_da, __pyx_v_m, __pyx_v_y, __pyx_v_wateryear, __pyx_v_dowy, __pyx_v_cvp_stored_flow, __pyx_v_swp_stored_flow, __pyx_v_swp_pump, __pyx_v_cvp_pump, __pyx_v_swp_available_storage, __pyx_v_cvp_available_storage}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 13+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) { PyObject *__pyx_temp[14] = {__pyx_t_17, __pyx_v_t, __pyx_v_d, __pyx_v_da, __pyx_v_m, __pyx_v_y, __pyx_v_wateryear, __pyx_v_dowy, __pyx_v_cvp_stored_flow, __pyx_v_swp_stored_flow, __pyx_v_swp_pump, __pyx_v_cvp_pump, __pyx_v_swp_available_storage, __pyx_v_cvp_available_storage}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_4, 13+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_3 = PyTuple_New(13+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_v_t); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_v_d); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_4, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_4, __pyx_v_m); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_4, __pyx_v_y); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_4, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_4, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_cvp_stored_flow); __Pyx_GIVEREF(__pyx_v_cvp_stored_flow); PyTuple_SET_ITEM(__pyx_t_3, 7+__pyx_t_4, __pyx_v_cvp_stored_flow); __Pyx_INCREF(__pyx_v_swp_stored_flow); __Pyx_GIVEREF(__pyx_v_swp_stored_flow); PyTuple_SET_ITEM(__pyx_t_3, 8+__pyx_t_4, __pyx_v_swp_stored_flow); __Pyx_INCREF(__pyx_v_swp_pump); __Pyx_GIVEREF(__pyx_v_swp_pump); PyTuple_SET_ITEM(__pyx_t_3, 9+__pyx_t_4, __pyx_v_swp_pump); __Pyx_INCREF(__pyx_v_cvp_pump); __Pyx_GIVEREF(__pyx_v_cvp_pump); PyTuple_SET_ITEM(__pyx_t_3, 10+__pyx_t_4, __pyx_v_cvp_pump); __Pyx_INCREF(__pyx_v_swp_available_storage); __Pyx_GIVEREF(__pyx_v_swp_available_storage); PyTuple_SET_ITEM(__pyx_t_3, 11+__pyx_t_4, __pyx_v_swp_available_storage); __Pyx_INCREF(__pyx_v_cvp_available_storage); __Pyx_GIVEREF(__pyx_v_cvp_available_storage); PyTuple_SET_ITEM(__pyx_t_3, 12+__pyx_t_4, __pyx_v_cvp_available_storage); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2508:
2509:
+2510: return self.delta.HRO_pump[t], self.delta.TRP_pump[t], self.delta.swp_allocation[t], self.delta.cvp_allocation[t], proj_surplus, max_pumping, swp_forgone, cvp_forgone, swp_flood_storage, cvp_flood_storage, swp_available_storage, cvp_available_storage, flood_release, flood_volume
__Pyx_XDECREF(__pyx_r); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_HRO_pump); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_TRP_pump); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_cvp_allocation); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_t); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyFloat_FromDouble(__pyx_v_swp_flood_storage); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_1 = PyFloat_FromDouble(__pyx_v_cvp_flood_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyTuple_New(14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_17); __Pyx_INCREF(__pyx_v_proj_surplus); __Pyx_GIVEREF(__pyx_v_proj_surplus); PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_v_proj_surplus); __Pyx_INCREF(__pyx_v_max_pumping); __Pyx_GIVEREF(__pyx_v_max_pumping); PyTuple_SET_ITEM(__pyx_t_5, 5, __pyx_v_max_pumping); __Pyx_INCREF(__pyx_v_swp_forgone); __Pyx_GIVEREF(__pyx_v_swp_forgone); PyTuple_SET_ITEM(__pyx_t_5, 6, __pyx_v_swp_forgone); __Pyx_INCREF(__pyx_v_cvp_forgone); __Pyx_GIVEREF(__pyx_v_cvp_forgone); PyTuple_SET_ITEM(__pyx_t_5, 7, __pyx_v_cvp_forgone); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_5, 8, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 9, __pyx_t_1); __Pyx_INCREF(__pyx_v_swp_available_storage); __Pyx_GIVEREF(__pyx_v_swp_available_storage); PyTuple_SET_ITEM(__pyx_t_5, 10, __pyx_v_swp_available_storage); __Pyx_INCREF(__pyx_v_cvp_available_storage); __Pyx_GIVEREF(__pyx_v_cvp_available_storage); PyTuple_SET_ITEM(__pyx_t_5, 11, __pyx_v_cvp_available_storage); __Pyx_INCREF(__pyx_v_flood_release); __Pyx_GIVEREF(__pyx_v_flood_release); PyTuple_SET_ITEM(__pyx_t_5, 12, __pyx_v_flood_release); __Pyx_INCREF(__pyx_v_flood_volume); __Pyx_GIVEREF(__pyx_v_flood_volume); PyTuple_SET_ITEM(__pyx_t_5, 13, __pyx_v_flood_volume); __pyx_t_7 = 0; __pyx_t_11 = 0; __pyx_t_3 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_1 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
2511:
+2512: def simulate_south(self, t, hro_pump, trp_pump, swp_alloc, cvp_alloc, proj_surplus, max_pumping, swp_forgone, cvp_forgone, swp_AF, cvp_AF, swp_AS, cvp_AS, wyt, wytSC, max_tax_free, flood_release, flood_volume):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_51simulate_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_51simulate_south = {"simulate_south", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_51simulate_south, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_51simulate_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_hro_pump = 0;
PyObject *__pyx_v_trp_pump = 0;
PyObject *__pyx_v_swp_alloc = 0;
PyObject *__pyx_v_cvp_alloc = 0;
PyObject *__pyx_v_proj_surplus = 0;
PyObject *__pyx_v_max_pumping = 0;
PyObject *__pyx_v_swp_forgone = 0;
PyObject *__pyx_v_cvp_forgone = 0;
PyObject *__pyx_v_swp_AF = 0;
PyObject *__pyx_v_cvp_AF = 0;
PyObject *__pyx_v_swp_AS = 0;
PyObject *__pyx_v_cvp_AS = 0;
PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_v_wytSC = 0;
CYTHON_UNUSED PyObject *__pyx_v_max_tax_free = 0;
PyObject *__pyx_v_flood_release = 0;
PyObject *__pyx_v_flood_volume = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("simulate_south (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_hro_pump,&__pyx_n_s_trp_pump,&__pyx_n_s_swp_alloc,&__pyx_n_s_cvp_alloc,&__pyx_n_s_proj_surplus,&__pyx_n_s_max_pumping,&__pyx_n_s_swp_forgone,&__pyx_n_s_cvp_forgone,&__pyx_n_s_swp_AF,&__pyx_n_s_cvp_AF,&__pyx_n_s_swp_AS,&__pyx_n_s_cvp_AS,&__pyx_n_s_wyt,&__pyx_n_s_wytSC,&__pyx_n_s_max_tax_free,&__pyx_n_s_flood_release,&__pyx_n_s_flood_volume,0};
PyObject* values[19] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 1); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_hro_pump)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 2); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_trp_pump)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 3); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_alloc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 4); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_alloc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 5); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_proj_surplus)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 6); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_pumping)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 7); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_forgone)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 8); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_forgone)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 9); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_AF)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 10); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 11:
if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_AF)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 11); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 12:
if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_AS)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 12); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 13:
if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_AS)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 13); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 14:
if (likely((values[14] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 14); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 15:
if (likely((values[15] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wytSC)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 15); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 16:
if (likely((values[16] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tax_free)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 16); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 17:
if (likely((values[17] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flood_release)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 17); __PYX_ERR(0, 2512, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 18:
if (likely((values[18] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flood_volume)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, 18); __PYX_ERR(0, 2512, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "simulate_south") < 0)) __PYX_ERR(0, 2512, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 19) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_hro_pump = values[2];
__pyx_v_trp_pump = values[3];
__pyx_v_swp_alloc = values[4];
__pyx_v_cvp_alloc = values[5];
__pyx_v_proj_surplus = values[6];
__pyx_v_max_pumping = values[7];
__pyx_v_swp_forgone = values[8];
__pyx_v_cvp_forgone = values[9];
__pyx_v_swp_AF = values[10];
__pyx_v_cvp_AF = values[11];
__pyx_v_swp_AS = values[12];
__pyx_v_cvp_AS = values[13];
__pyx_v_wyt = values[14];
__pyx_v_wytSC = values[15];
__pyx_v_max_tax_free = values[16];
__pyx_v_flood_release = values[17];
__pyx_v_flood_volume = values[18];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("simulate_south", 1, 19, 19, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 2512, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.simulate_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_50simulate_south(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_hro_pump, __pyx_v_trp_pump, __pyx_v_swp_alloc, __pyx_v_cvp_alloc, __pyx_v_proj_surplus, __pyx_v_max_pumping, __pyx_v_swp_forgone, __pyx_v_cvp_forgone, __pyx_v_swp_AF, __pyx_v_cvp_AF, __pyx_v_swp_AS, __pyx_v_cvp_AS, __pyx_v_wyt, __pyx_v_wytSC, __pyx_v_max_tax_free, __pyx_v_flood_release, __pyx_v_flood_volume);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_50simulate_south(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_hro_pump, PyObject *__pyx_v_trp_pump, PyObject *__pyx_v_swp_alloc, PyObject *__pyx_v_cvp_alloc, PyObject *__pyx_v_proj_surplus, PyObject *__pyx_v_max_pumping, PyObject *__pyx_v_swp_forgone, PyObject *__pyx_v_cvp_forgone, PyObject *__pyx_v_swp_AF, PyObject *__pyx_v_cvp_AF, PyObject *__pyx_v_swp_AS, PyObject *__pyx_v_cvp_AS, PyObject *__pyx_v_wyt, PyObject *__pyx_v_wytSC, CYTHON_UNUSED PyObject *__pyx_v_max_tax_free, PyObject *__pyx_v_flood_release, PyObject *__pyx_v_flood_volume) {
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_da = NULL;
PyObject *__pyx_v_dowy = NULL;
PyObject *__pyx_v_m = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_wateryear = NULL;
PyObject *__pyx_v_year_index = NULL;
PyObject *__pyx_v_m1 = NULL;
PyObject *__pyx_v_watershed_reservoir_list = NULL;
PyObject *__pyx_v_x = NULL;
CYTHON_UNUSED PyObject *__pyx_v_extra_s = NULL;
CYTHON_UNUSED PyObject *__pyx_v_extra_f = NULL;
CYTHON_UNUSED double __pyx_v_total_water_base;
PyObject *__pyx_v_land_constraint = NULL;
PyObject *__pyx_v_crop = NULL;
PyObject *__pyx_v_water_constraint_by_source = NULL;
PyObject *__pyx_v_water_available = NULL;
PyObject *__pyx_v_source = NULL;
PyObject *__pyx_v_contracts_from_source = NULL;
PyObject *__pyx_v_source_contracts = NULL;
Py_ssize_t __pyx_v_i;
PyObject *__pyx_v_x0 = NULL;
PyObject *__pyx_v_allocation_change = NULL;
PyObject *__pyx_v_expected_pumping = NULL;
PyObject *__pyx_v_swp_release = NULL;
PyObject *__pyx_v_swp_release2 = NULL;
PyObject *__pyx_v_fill_up_cross_swp = NULL;
PyObject *__pyx_v_cvp_release = NULL;
PyObject *__pyx_v_cvp_release2 = NULL;
PyObject *__pyx_v_fill_up_cross_cvp = NULL;
PyObject *__pyx_v_seller_total = NULL;
PyObject *__pyx_v_buyer_total = NULL;
PyObject *__pyx_v_seller_turnback = NULL;
PyObject *__pyx_v_buyer_turnback = NULL;
PyObject *__pyx_v_total_contract = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_additional_carryover = NULL;
PyObject *__pyx_v_reservoir = NULL;
PyObject *__pyx_v_this_reservoir_all_contract = NULL;
PyObject *__pyx_v_priority_deliveries = NULL;
PyObject *__pyx_v_secondary_deliveries = NULL;
PyObject *__pyx_v_total_res_carryover = NULL;
PyObject *__pyx_v_priority_contract = NULL;
PyObject *__pyx_v_secondary_contract = NULL;
PyObject *__pyx_v_extra_allocation = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_total_allocation = NULL;
PyObject *__pyx_v_tot_ind_deliveries = NULL;
PyObject *__pyx_v_tot_ind_carryover = NULL;
PyObject *__pyx_v_tot_ind_turnback = NULL;
PyObject *__pyx_v_tot_ind_paper = NULL;
PyObject *__pyx_v_tot_res_deliveries = NULL;
PyObject *__pyx_v_priority_storage = NULL;
PyObject *__pyx_v_tot_res_carryover = NULL;
PyObject *__pyx_v_total_water = NULL;
PyObject *__pyx_v_next_year_carryover = NULL;
PyObject *__pyx_v_this_year_carryover = NULL;
PyObject *__pyx_v_z = NULL;
PyObject *__pyx_v_counter = NULL;
double __pyx_v_target_eoy;
long __pyx_v_use_tolerance;
PyObject *__pyx_v_flow_type = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_exchanger_list = NULL;
PyObject *__pyx_v_exchange_max = NULL;
PyObject *__pyx_v_exchange_request = NULL;
PyObject *__pyx_v_exc_cvc = NULL;
PyObject *__pyx_v_delivered_exchange = NULL;
PyObject *__pyx_v_ind_exchange = NULL;
PyObject *__pyx_v_reservoir_recovery = NULL;
PyObject *__pyx_v_exchange_contract = NULL;
CYTHON_UNUSED PyObject *__pyx_v_delivery_key = NULL;
PyObject *__pyx_v_canal_size = NULL;
PyObject *__pyx_v_total_canal_demand = NULL;
PyObject *__pyx_v_total_current_balance = NULL;
PyObject *__pyx_v_total_projected_supply = NULL;
double __pyx_v_conservative_estimate;
PyObject *__pyx_v_available_exchange_kern = NULL;
PyObject *__pyx_v_requester_list = NULL;
PyObject *__pyx_v_total_request = NULL;
PyObject *__pyx_v_requester = NULL;
PyObject *__pyx_v_request_fraction = NULL;
PyObject *__pyx_v_exchanged_value = NULL;
PyObject *__pyx_v_available_flow = NULL;
PyObject *__pyx_v_zz = NULL;
CYTHON_UNUSED PyObject *__pyx_v_excess_water = NULL;
CYTHON_UNUSED PyObject *__pyx_v_unmet_demand = NULL;
PyObject *__pyx_v_flood_order_list = NULL;
long __pyx_v_overflow_deliveries;
PyObject *__pyx_v_a = NULL;
PyObject *__pyx_v_numdays_fillup = NULL;
PyObject *__pyx_v_demand_days = NULL;
PyObject *__pyx_v_lookahead_days = NULL;
PyObject *__pyx_v_carryover_days = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_swp_pump = NULL;
PyObject *__pyx_v_cvp_pump = NULL;
CYTHON_UNUSED double __pyx_v_tot_paper;
CYTHON_UNUSED double __pyx_v_tot_turnback;
CYTHON_UNUSED PyObject *__pyx_v_lastYearCarryover = NULL;
long __pyx_v_use_contract;
PyObject *__pyx_v_new_alloc = NULL;
PyObject *__pyx_v_carryover = NULL;
PyObject *__pyx_v_current_carryover_storage = NULL;
PyObject *__pyx_v_fudge_factor = NULL;
PyObject *__pyx_v_sum_carryover = NULL;
PyObject *__pyx_v_canal_loc = NULL;
PyObject *__pyx_v_loc_id = NULL;
CYTHON_UNUSED PyObject *__pyx_9genexpr15__pyx_v__ = NULL;
CYTHON_UNUSED PyObject *__pyx_9genexpr16__pyx_v__ = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__49)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("simulate_south", 0);
__Pyx_TraceCall("simulate_south", __pyx_f[0], 2512, 0, __PYX_ERR(0, 2512, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_26);
__Pyx_XDECREF(__pyx_t_27);
__Pyx_XDECREF(__pyx_t_28);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.simulate_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_da);
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_m);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_wateryear);
__Pyx_XDECREF(__pyx_v_year_index);
__Pyx_XDECREF(__pyx_v_m1);
__Pyx_XDECREF(__pyx_v_watershed_reservoir_list);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_extra_s);
__Pyx_XDECREF(__pyx_v_extra_f);
__Pyx_XDECREF(__pyx_v_land_constraint);
__Pyx_XDECREF(__pyx_v_crop);
__Pyx_XDECREF(__pyx_v_water_constraint_by_source);
__Pyx_XDECREF(__pyx_v_water_available);
__Pyx_XDECREF(__pyx_v_source);
__Pyx_XDECREF(__pyx_v_contracts_from_source);
__Pyx_XDECREF(__pyx_v_source_contracts);
__Pyx_XDECREF(__pyx_v_x0);
__Pyx_XDECREF(__pyx_v_allocation_change);
__Pyx_XDECREF(__pyx_v_expected_pumping);
__Pyx_XDECREF(__pyx_v_swp_release);
__Pyx_XDECREF(__pyx_v_swp_release2);
__Pyx_XDECREF(__pyx_v_fill_up_cross_swp);
__Pyx_XDECREF(__pyx_v_cvp_release);
__Pyx_XDECREF(__pyx_v_cvp_release2);
__Pyx_XDECREF(__pyx_v_fill_up_cross_cvp);
__Pyx_XDECREF(__pyx_v_seller_total);
__Pyx_XDECREF(__pyx_v_buyer_total);
__Pyx_XDECREF(__pyx_v_seller_turnback);
__Pyx_XDECREF(__pyx_v_buyer_turnback);
__Pyx_XDECREF(__pyx_v_total_contract);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_additional_carryover);
__Pyx_XDECREF(__pyx_v_reservoir);
__Pyx_XDECREF(__pyx_v_this_reservoir_all_contract);
__Pyx_XDECREF(__pyx_v_priority_deliveries);
__Pyx_XDECREF(__pyx_v_secondary_deliveries);
__Pyx_XDECREF(__pyx_v_total_res_carryover);
__Pyx_XDECREF(__pyx_v_priority_contract);
__Pyx_XDECREF(__pyx_v_secondary_contract);
__Pyx_XDECREF(__pyx_v_extra_allocation);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_total_allocation);
__Pyx_XDECREF(__pyx_v_tot_ind_deliveries);
__Pyx_XDECREF(__pyx_v_tot_ind_carryover);
__Pyx_XDECREF(__pyx_v_tot_ind_turnback);
__Pyx_XDECREF(__pyx_v_tot_ind_paper);
__Pyx_XDECREF(__pyx_v_tot_res_deliveries);
__Pyx_XDECREF(__pyx_v_priority_storage);
__Pyx_XDECREF(__pyx_v_tot_res_carryover);
__Pyx_XDECREF(__pyx_v_total_water);
__Pyx_XDECREF(__pyx_v_next_year_carryover);
__Pyx_XDECREF(__pyx_v_this_year_carryover);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XDECREF(__pyx_v_counter);
__Pyx_XDECREF(__pyx_v_flow_type);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_exchanger_list);
__Pyx_XDECREF(__pyx_v_exchange_max);
__Pyx_XDECREF(__pyx_v_exchange_request);
__Pyx_XDECREF(__pyx_v_exc_cvc);
__Pyx_XDECREF(__pyx_v_delivered_exchange);
__Pyx_XDECREF(__pyx_v_ind_exchange);
__Pyx_XDECREF(__pyx_v_reservoir_recovery);
__Pyx_XDECREF(__pyx_v_exchange_contract);
__Pyx_XDECREF(__pyx_v_delivery_key);
__Pyx_XDECREF(__pyx_v_canal_size);
__Pyx_XDECREF(__pyx_v_total_canal_demand);
__Pyx_XDECREF(__pyx_v_total_current_balance);
__Pyx_XDECREF(__pyx_v_total_projected_supply);
__Pyx_XDECREF(__pyx_v_available_exchange_kern);
__Pyx_XDECREF(__pyx_v_requester_list);
__Pyx_XDECREF(__pyx_v_total_request);
__Pyx_XDECREF(__pyx_v_requester);
__Pyx_XDECREF(__pyx_v_request_fraction);
__Pyx_XDECREF(__pyx_v_exchanged_value);
__Pyx_XDECREF(__pyx_v_available_flow);
__Pyx_XDECREF(__pyx_v_zz);
__Pyx_XDECREF(__pyx_v_excess_water);
__Pyx_XDECREF(__pyx_v_unmet_demand);
__Pyx_XDECREF(__pyx_v_flood_order_list);
__Pyx_XDECREF(__pyx_v_a);
__Pyx_XDECREF(__pyx_v_numdays_fillup);
__Pyx_XDECREF(__pyx_v_demand_days);
__Pyx_XDECREF(__pyx_v_lookahead_days);
__Pyx_XDECREF(__pyx_v_carryover_days);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_swp_pump);
__Pyx_XDECREF(__pyx_v_cvp_pump);
__Pyx_XDECREF(__pyx_v_lastYearCarryover);
__Pyx_XDECREF(__pyx_v_new_alloc);
__Pyx_XDECREF(__pyx_v_carryover);
__Pyx_XDECREF(__pyx_v_current_carryover_storage);
__Pyx_XDECREF(__pyx_v_fudge_factor);
__Pyx_XDECREF(__pyx_v_sum_carryover);
__Pyx_XDECREF(__pyx_v_canal_loc);
__Pyx_XDECREF(__pyx_v_loc_id);
__Pyx_XDECREF(__pyx_9genexpr15__pyx_v__);
__Pyx_XDECREF(__pyx_9genexpr16__pyx_v__);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__114 = PyTuple_Pack(129, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_hro_pump, __pyx_n_s_trp_pump, __pyx_n_s_swp_alloc, __pyx_n_s_cvp_alloc, __pyx_n_s_proj_surplus, __pyx_n_s_max_pumping, __pyx_n_s_swp_forgone, __pyx_n_s_cvp_forgone, __pyx_n_s_swp_AF, __pyx_n_s_cvp_AF, __pyx_n_s_swp_AS, __pyx_n_s_cvp_AS, __pyx_n_s_wyt, __pyx_n_s_wytSC, __pyx_n_s_max_tax_free, __pyx_n_s_flood_release, __pyx_n_s_flood_volume, __pyx_n_s_d, __pyx_n_s_da, __pyx_n_s_dowy, __pyx_n_s_m, __pyx_n_s_y, __pyx_n_s_wateryear, __pyx_n_s_year_index, __pyx_n_s_m1, __pyx_n_s_watershed_reservoir_list, __pyx_n_s_x, __pyx_n_s_extra_s, __pyx_n_s_extra_f, __pyx_n_s_total_water_base, __pyx_n_s_land_constraint, __pyx_n_s_crop, __pyx_n_s_water_constraint_by_source, __pyx_n_s_water_available, __pyx_n_s_source, __pyx_n_s_contracts_from_source, __pyx_n_s_source_contracts, __pyx_n_s_i, __pyx_n_s_x0, __pyx_n_s_allocation_change, __pyx_n_s_expected_pumping, __pyx_n_s_swp_release, __pyx_n_s_swp_release2, __pyx_n_s_fill_up_cross_swp, __pyx_n_s_cvp_release, __pyx_n_s_cvp_release2, __pyx_n_s_fill_up_cross_cvp, __pyx_n_s_seller_total, __pyx_n_s_buyer_total, __pyx_n_s_seller_turnback, __pyx_n_s_buyer_turnback, __pyx_n_s_total_contract, __pyx_n_s_xx, __pyx_n_s_additional_carryover, __pyx_n_s_reservoir, __pyx_n_s_this_reservoir_all_contract, __pyx_n_s_priority_deliveries, __pyx_n_s_secondary_deliveries, __pyx_n_s_total_res_carryover, __pyx_n_s_priority_contract, __pyx_n_s_secondary_contract, __pyx_n_s_extra_allocation, __pyx_n_s_yy, __pyx_n_s_total_allocation, __pyx_n_s_tot_ind_deliveries, __pyx_n_s_tot_ind_carryover, __pyx_n_s_tot_ind_turnback, __pyx_n_s_tot_ind_paper, __pyx_n_s_tot_res_deliveries, __pyx_n_s_priority_storage, __pyx_n_s_tot_res_carryover, __pyx_n_s_total_water, __pyx_n_s_next_year_carryover, __pyx_n_s_this_year_carryover, __pyx_n_s_z, __pyx_n_s_counter, __pyx_n_s_target_eoy, __pyx_n_s_use_tolerance, __pyx_n_s_flow_type, __pyx_n_s_w, __pyx_n_s_exchanger_list, __pyx_n_s_exchange_max, __pyx_n_s_exchange_request, __pyx_n_s_exc_cvc, __pyx_n_s_delivered_exchange, __pyx_n_s_ind_exchange, __pyx_n_s_reservoir_recovery, __pyx_n_s_exchange_contract, __pyx_n_s_delivery_key, __pyx_n_s_canal_size, __pyx_n_s_total_canal_demand, __pyx_n_s_total_current_balance, __pyx_n_s_total_projected_supply, __pyx_n_s_conservative_estimate, __pyx_n_s_available_exchange_kern, __pyx_n_s_requester_list, __pyx_n_s_total_request, __pyx_n_s_requester, __pyx_n_s_request_fraction, __pyx_n_s_exchanged_value, __pyx_n_s_available_flow, __pyx_n_s_zz, __pyx_n_s_excess_water, __pyx_n_s_unmet_demand, __pyx_n_s_flood_order_list, __pyx_n_s_overflow_deliveries, __pyx_n_s_a, __pyx_n_s_numdays_fillup, __pyx_n_s_demand_days, __pyx_n_s_lookahead_days, __pyx_n_s_carryover_days, __pyx_n_s_k, __pyx_n_s_swp_pump, __pyx_n_s_cvp_pump, __pyx_n_s_tot_paper, __pyx_n_s_tot_turnback, __pyx_n_s_lastYearCarryover, __pyx_n_s_use_contract, __pyx_n_s_new_alloc, __pyx_n_s_carryover, __pyx_n_s_current_carryover_storage, __pyx_n_s_fudge_factor, __pyx_n_s_sum_carryover, __pyx_n_s_canal_loc, __pyx_n_s_loc_id, __pyx_n_s__12, __pyx_n_s__12); if (unlikely(!__pyx_tuple__114)) __PYX_ERR(0, 2512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__114);
__Pyx_GIVEREF(__pyx_tuple__114);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_51simulate_south, 0, __pyx_n_s_Model_simulate_south, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_simulate_south, __pyx_t_2) < 0) __PYX_ERR(0, 2512, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(19, 0, 129, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_simulate_south, 2512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 2512, __pyx_L1_error)
2513: ####Maintain the same date/time accounting as the northern part of the model
+2514: d = self.day_year[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_d = __pyx_t_2; __pyx_t_2 = 0;
+2515: da = self.day_month[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_day_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_da = __pyx_t_1; __pyx_t_1 = 0;
+2516: dowy = self.dowy[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_dowy = __pyx_t_2; __pyx_t_2 = 0;
+2517: m = self.month[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_m = __pyx_t_1; __pyx_t_1 = 0;
+2518: y = self.year[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_y = __pyx_t_2; __pyx_t_2 = 0;
+2519: wateryear = self.water_year[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_water_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_wateryear = __pyx_t_1; __pyx_t_1 = 0;
+2520: year_index = y - self.starting_year
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Subtract(__pyx_v_y, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_year_index = __pyx_t_2; __pyx_t_2 = 0;
2521:
+2522: if m == 12:
__pyx_t_2 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_12, 12, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2522, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+2523: m1 = 1
__Pyx_INCREF(__pyx_int_1);
__pyx_v_m1 = __pyx_int_1;
2524: else:
+2525: m1 = m + 1
/*else*/ {
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_m1 = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L3:;
2526:
2527: #####Pumping and project allocations (projections of future pumping) are passed
2528: #####Into the southern model from the delta calcs in the northern model
+2529: self.trp_pumping[t] = trp_pump
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_trp_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_v_trp_pump) < 0)) __PYX_ERR(0, 2529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2530: self.hro_pumping[t] = hro_pump
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_hro_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_v_hro_pump) < 0)) __PYX_ERR(0, 2530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2531: self.annual_SWP[wateryear] += hro_pump
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_annual_SWP); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_1 = __pyx_v_wateryear; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_v_hro_pump); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_1, __pyx_t_5) < 0)) __PYX_ERR(0, 2531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2532: self.annual_CVP[wateryear] += trp_pump
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_annual_CVP); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_1 = __pyx_v_wateryear; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_v_trp_pump); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_1, __pyx_t_4) < 0)) __PYX_ERR(0, 2532, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2533: self.cvp_allocation[t] = cvp_alloc
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvp_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_v_cvp_alloc) < 0)) __PYX_ERR(0, 2533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2534: self.swp_allocation[t] = swp_alloc
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_v_swp_alloc) < 0)) __PYX_ERR(0, 2534, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2535:
2536: ####Various infrastructure & regulatory changes that
2537: ####occurred during the duration of the 1996-2016 calibration period
+2538: if self.model_mode == 'validation':
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_validation, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+2539: self.update_regulations_south(t,dowy,m,year_index + self.starting_year, wateryear)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_update_regulations_south); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyNumber_Add(__pyx_v_year_index, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_t_5, __pyx_v_wateryear}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_t_5, __pyx_v_wateryear}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_m); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_v_wateryear); __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2539, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2540: else:
+2541: self.millerton.sjrr_release = self.millerton.sj_riv_res_flows(t, dowy)
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sj_riv_res_flows); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_t, __pyx_v_dowy};
__pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_t, __pyx_v_dowy};
__pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_v_t);
__Pyx_GIVEREF(__pyx_v_t);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t);
__Pyx_INCREF(__pyx_v_dowy);
__Pyx_GIVEREF(__pyx_v_dowy);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_dowy);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_sjrr_release, __pyx_t_2) < 0) __PYX_ERR(0, 2541, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__pyx_L4:;
2542:
2543:
2544: ####Calculate water balance/flow requirements at each
2545: ####local reservoir, in the same fashion as they are calculated for the
2546: ####Northern Reservoir
+2547: watershed_reservoir_list = [self.millerton, self.success, self.kaweah, self.isabella, self.pineflat]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = PyList_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_8, 3, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_8, 4, __pyx_t_4); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_v_watershed_reservoir_list = ((PyObject*)__pyx_t_8); __pyx_t_8 = 0;
+2548: for x in watershed_reservoir_list:
__pyx_t_8 = __pyx_v_watershed_reservoir_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2548, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2549: x.rights_call(x.downstream[t])
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights_call); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_downstream); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2550: x.release_environmental(t, d, m, dowy, self.first_d_of_month[year_index], wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_release_environmental); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_first_d_of_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_5, __pyx_v_wyt}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[7] = {__pyx_t_2, __pyx_v_t, __pyx_v_d, __pyx_v_m, __pyx_v_dowy, __pyx_t_5, __pyx_v_wyt}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(6+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_d); __Pyx_GIVEREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_d); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_v_wyt); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2551:
2552: ###Flow projections for the local reservoirs
2553: ###Note: no flow projection for the San Luis Reservoir,
2554: ###because it has no watershed affects. Projections of pumping
2555: ###are calculated in the northern function, and passed here as
2556: ###'projected allocations'
+2557: for x in watershed_reservoir_list:
__pyx_t_8 = __pyx_v_watershed_reservoir_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2557, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2558: x.find_available_storage(t, m, da, dowy)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_available_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_5 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_v_dowy); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2559:
2560: ##Water Balance step at each reservoir
+2561: for x in watershed_reservoir_list:
__pyx_t_8 = __pyx_v_watershed_reservoir_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2561, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2562: x.step(t)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_step); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_t) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_t); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2563:
2564: ##Water balance/capacity sharing at San Luis Reservoir - capacity
2565: ##Sharing means that both the state/federal portions can exceed 50% of the
2566: ##total storage in San Luis, but any extra storage must be evacuated if pumping
2567: ##from the other project begins to encroach on this space (i.e. temporary storage in the
2568: ##other projects capacity)
+2569: if t < (self.T - 1):
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_8, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2569, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L11; }
+2570: extra_s, extra_f = self.step_san_luis(t, m, da)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_step_san_luis); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_da}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_da}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif { __pyx_t_5 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_da); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2570, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_4 = PyList_GET_ITEM(sequence, 0); __pyx_t_5 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); #else __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2570, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_4)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); index = 1; __pyx_t_5 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_5)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_1), 2) < 0) __PYX_ERR(0, 2570, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2570, __pyx_L1_error) __pyx_L13_unpacking_done:; } __pyx_v_extra_s = __pyx_t_4; __pyx_t_4 = 0; __pyx_v_extra_f = __pyx_t_5; __pyx_t_5 = 0;
2571: else:
+2572: extra_s = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_s = __pyx_float_0_0;
+2573: extra_f = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_f = __pyx_float_0_0;
}
__pyx_L11:;
2574:
2575: ###If pumping would occur from the northern model, but cannot because San Luis
2576: ###Reservoir is full (and unable to be emptied), the projects 'take back' any
2577: ###carryover water and pretend that it was pumped, adding the carryover to the projections for
2578: ###this year's allocation. This has the effect of taking water belonging to an individual contractor
2579: ###(i.e. Southern California) and dividing it among all contractors
+2580: self.appropriate_carryover(swp_forgone, "SLS", wateryear)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_appropriate_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_swp_forgone, __pyx_n_u_SLS, __pyx_v_wateryear}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2580, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_swp_forgone, __pyx_n_u_SLS, __pyx_v_wateryear}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2580, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif { __pyx_t_1 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_swp_forgone); __Pyx_GIVEREF(__pyx_v_swp_forgone); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_swp_forgone); __Pyx_INCREF(__pyx_n_u_SLS); __Pyx_GIVEREF(__pyx_n_u_SLS); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_n_u_SLS); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_v_wateryear); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2581: self.appropriate_carryover(cvp_forgone, "SLF", wateryear)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_appropriate_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_cvp_forgone, __pyx_n_u_SLF, __pyx_v_wateryear}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_1, __pyx_v_cvp_forgone, __pyx_n_u_SLF, __pyx_v_wateryear}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_8); } else #endif { __pyx_t_4 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_cvp_forgone); __Pyx_GIVEREF(__pyx_v_cvp_forgone); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_cvp_forgone); __Pyx_INCREF(__pyx_n_u_SLF); __Pyx_GIVEREF(__pyx_n_u_SLF); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_n_u_SLF); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_wateryear); __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2582: self.sanluisstate.flood_spill[t] += swp_forgone
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_flood_spill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_v_t); __pyx_t_8 = __pyx_v_t; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_v_swp_forgone); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_8, __pyx_t_1) < 0)) __PYX_ERR(0, 2582, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2583: self.sanluisfederal.flood_spill[t] += cvp_forgone
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_flood_spill); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_v_t); __pyx_t_5 = __pyx_v_t; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_v_cvp_forgone); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_5, __pyx_t_4) < 0)) __PYX_ERR(0, 2583, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
2584:
2585: ##Find ID demands
2586: ###Daily demands are calculated from monthly demands based on
2587: ###crop acreage. Right now the acreage is dependent on water year type,
2588: ###so demand for each water year type can be calculated before the timestep loop.
2589: ###When crop allocation functions are added, this demand must be calculated at least once
2590: ###per year (as acreages update). Daily demands are just monthly demands divided by the number
2591: ###of days in a month
+2592: if m == 3 and da == 2:
__pyx_t_8 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L15_bool_binop_done; } __pyx_t_8 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_2, 2, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2592, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L15_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+2593: for x in self.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_5 = __pyx_t_8; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2593, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2593, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2593, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2593, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2593, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2594: if x.has_pmp:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_pmp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ }
+2595: total_water_base = 0.0
__pyx_v_total_water_base = 0.0;
+2596: land_constraint = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_land_constraint, __pyx_float_0_0);
+2597: for crop in x.irrdemand.crop_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_crop_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_8 = __pyx_t_4; __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2597, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2597, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2597, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2597, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_crop, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2598: land_constraint += x.irrdemand.baseline_inputs['LAND'][crop]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_baseline_inputs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_LAND); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_crop); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_land_constraint, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_land_constraint, __pyx_t_4); __pyx_t_4 = 0;
+2599: water_constraint_by_source = {}
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_water_constraint_by_source, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0;
+2600: water_available = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_water_available, __pyx_float_0_0);
+2601: for source in x.irrdemand.water_source_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_irrdemand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_water_source_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_8 = __pyx_t_4; __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2601, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2601, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2601, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2601, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2601, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_source, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2602: if source != 'GW':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_source, __pyx_n_u_GW, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2602, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+2603: contracts_from_source = self.source_codes[source]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_source_codes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_contracts_from_source, __pyx_t_1); __pyx_t_1 = 0;
+2604: water_constraint_by_source[source] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_water_constraint_by_source, __pyx_v_source, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2604, __pyx_L1_error)
+2605: for source_contracts in contracts_from_source:
if (likely(PyList_CheckExact(__pyx_v_contracts_from_source)) || PyTuple_CheckExact(__pyx_v_contracts_from_source)) { __pyx_t_1 = __pyx_v_contracts_from_source; __Pyx_INCREF(__pyx_t_1); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_contracts_from_source); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2605, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_4); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2605, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_4); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2605, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_16(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2605, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_source_contracts, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2606: water_available += (x.deliveries[source_contracts][wateryear] + x.projected_supply[source_contracts])*1000.0
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_source_contracts); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_source_contracts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_7, __pyx_float_1000_0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_water_available, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_water_available, __pyx_t_7); __pyx_t_7 = 0;
+2607: water_constraint_by_source[source] += (x.deliveries[source_contracts][wateryear] + x.projected_supply[source_contracts])*1000.0
__Pyx_INCREF(__pyx_v_source); __pyx_t_7 = __pyx_v_source; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_water_constraint_by_source, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_source_contracts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_source_contracts); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Add(__pyx_t_4, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_17, __pyx_float_1000_0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(PyDict_SetItem(__pyx_v_water_constraint_by_source, __pyx_t_7, __pyx_t_17) < 0)) __PYX_ERR(0, 2607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2608: water_constraint_by_source['GW'] = max(x.total_water_base - water_available, 0.0)
__pyx_t_19 = 0.0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_total_water_base); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = PyNumber_Subtract(__pyx_t_8, __pyx_v_water_available); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_17 = PyObject_RichCompare(__pyx_t_7, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (__pyx_t_3) {
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_8 = __pyx_t_17;
__pyx_t_17 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_8 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_8;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_water_constraint_by_source, __pyx_n_u_GW, __pyx_t_1) < 0)) __PYX_ERR(0, 2608, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2609: i = 0
__pyx_v_i = 0;
+2610: x0 = np.zeros(len(x.acreage_by_pmp_crop_type))
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_pmp_crop_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = PyObject_Length(__pyx_t_8); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyInt_FromSsize_t(__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); } } __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_x0, __pyx_t_1); __pyx_t_1 = 0;
+2611: for i in range(0, len(x.acreage_by_pmp_crop_type)):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_pmp_crop_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(0, 2611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_15 = __pyx_t_13; for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_15; __pyx_t_20+=1) { __pyx_v_i = __pyx_t_20;
+2612: x0[i] = x.acreage_by_pmp_crop_type[i]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_acreage_by_pmp_crop_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_x0, __pyx_v_i, __pyx_t_17, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 2612, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; }
+2613: x.set_pmp_acreage(water_constraint_by_source, land_constraint, x0)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_pmp_acreage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_water_constraint_by_source, __pyx_v_land_constraint, __pyx_v_x0}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_water_constraint_by_source, __pyx_v_land_constraint, __pyx_v_x0}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_water_constraint_by_source); __Pyx_GIVEREF(__pyx_v_water_constraint_by_source); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_water_constraint_by_source); __Pyx_INCREF(__pyx_v_land_constraint); __Pyx_GIVEREF(__pyx_v_land_constraint); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_land_constraint); __Pyx_INCREF(__pyx_v_x0); __Pyx_GIVEREF(__pyx_v_x0); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_x0); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
2614:
+2615: if dowy == 0:
__pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ }
+2616: for x in self.private_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_17 = __pyx_t_5; __Pyx_INCREF(__pyx_t_17); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_17 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_12 = Py_TYPE(__pyx_t_17)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2616, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_17))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2616, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_17, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_17, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2616, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_17, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_17); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2616, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+2617: if wateryear > 0:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_wateryear, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2617, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ }
+2618: x.permanent_crop_growth(wateryear, self.days_in_month, self.non_leap_year)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_permanent_crop_growth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_v_wateryear, __pyx_t_7, __pyx_t_8}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_v_wateryear, __pyx_t_7, __pyx_t_8}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_2 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_t_8); __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2619: for x in self.district_list:
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (likely(PyList_CheckExact(__pyx_t_17)) || PyTuple_CheckExact(__pyx_t_17)) { __pyx_t_5 = __pyx_t_17; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2619, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_17); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2619, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_17); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2619, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } } else { __pyx_t_17 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_17)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2619, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_17); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2620: x.calc_demand(wateryear, year_index, da, m, self.days_in_month, m1, wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[8] = {__pyx_t_8, __pyx_v_wateryear, __pyx_v_year_index, __pyx_v_da, __pyx_v_m, __pyx_t_2, __pyx_v_m1, __pyx_v_wyt}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[8] = {__pyx_t_8, __pyx_v_wateryear, __pyx_v_year_index, __pyx_v_da, __pyx_v_m, __pyx_t_2, __pyx_v_m1, __pyx_v_wyt}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_7 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_year_index); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_m); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_v_m1); __Pyx_GIVEREF(__pyx_v_m1); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_v_m1); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_v_wyt); __pyx_t_2 = 0; __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+2621: if x.has_private:
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_3) { /* … */ }
+2622: x.private_demand = {}
__pyx_t_17 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_demand, __pyx_t_17) < 0) __PYX_ERR(0, 2622, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+2623: x.private_delivery = {}
__pyx_t_17 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_delivery, __pyx_t_17) < 0) __PYX_ERR(0, 2623, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+2624: for x in self.private_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_17 = __pyx_t_5; __Pyx_INCREF(__pyx_t_17); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_17 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_12 = Py_TYPE(__pyx_t_17)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2624, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_17))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2624, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_17, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_17, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2624, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_17, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_17); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2624, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+2625: x.calc_demand(wateryear, year_index, da, m, self.days_in_month, self.non_leap_year, m1, wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_8, __pyx_v_wateryear, __pyx_v_year_index, __pyx_v_da, __pyx_v_m, __pyx_t_7, __pyx_t_2, __pyx_v_m1, __pyx_v_wyt}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_8, __pyx_v_wateryear, __pyx_v_year_index, __pyx_v_da, __pyx_v_m, __pyx_t_7, __pyx_t_2, __pyx_v_m1, __pyx_v_wyt}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_18 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_6, __pyx_v_year_index); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_6, __pyx_v_m); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_v_m1); __Pyx_GIVEREF(__pyx_v_m1); PyTuple_SET_ITEM(__pyx_t_18, 6+__pyx_t_6, __pyx_v_m1); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_18, 7+__pyx_t_6, __pyx_v_wyt); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_18, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2626:
2627: ###For demands that occur on a branch of the California Aqueduct
2628: ###(i.e. pumped into some kind of regional urban storage/distribution
2629: ###systems, daily demand are just the observed pumping (i.e. no model of
2630: ###the southern California/South Bay/Central Coast urban demand). To run the
2631: ###model in projection mode, we need statistical series of pumping at each of the Cal Aqueduct
2632: ###branches. Note: for Bakersfield and Fresno in the local water systems, demands are deterministic
2633: ###seasonal estimates. Adding in pop. growth, etc. would be trivial, but is not included
+2634: if t > 0:
__pyx_t_17 = PyObject_RichCompare(__pyx_v_t, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2634, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2634, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L38; }
+2635: allocation_change = self.swp_allocation[t] - self.swp_allocation[t-1]
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_allocation_change = __pyx_t_1; __pyx_t_1 = 0;
2636: else:
+2637: allocation_change = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_allocation_change = __pyx_float_0_0;
}
__pyx_L38:;
+2638: for x in self.urban_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urban_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_18 = __pyx_t_1; __Pyx_INCREF(__pyx_t_18); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2638, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2638, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2638, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2638, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2639: x.get_urban_demand(t, m, da, dowy, wateryear, year_index, self.dowy_eom, self.forecastSRI[t], self.swp_allocation[t], allocation_change, self.model_mode)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_4, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_17, __pyx_t_7, __pyx_t_8, __pyx_v_allocation_change, __pyx_t_2}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_4, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_17, __pyx_t_7, __pyx_t_8, __pyx_v_allocation_change, __pyx_t_2}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_21 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_21, 6+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_21, 7+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_21, 8+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_allocation_change); __Pyx_GIVEREF(__pyx_v_allocation_change); PyTuple_SET_ITEM(__pyx_t_21, 9+__pyx_t_6, __pyx_v_allocation_change); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_21, 10+__pyx_t_6, __pyx_t_2); __pyx_t_17 = 0; __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_21, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2640: for x in self.city_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_1 = __pyx_t_18; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2640, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2640, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2640, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2640, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2641: x.get_urban_demand(t, m, da, wateryear, year_index, self.dowy_eom, self.forecastSRI[t], dowy, self.swp_allocation[t], allocation_change, self.model_mode)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_model_mode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_17 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_17, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_21, __pyx_t_8, __pyx_v_dowy, __pyx_t_7, __pyx_v_allocation_change, __pyx_t_2}; __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_17, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_21, __pyx_t_8, __pyx_v_dowy, __pyx_t_7, __pyx_v_allocation_change, __pyx_t_2}; __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_4 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_6, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_6, __pyx_v_dowy); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 8+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_allocation_change); __Pyx_GIVEREF(__pyx_v_allocation_change); PyTuple_SET_ITEM(__pyx_t_4, 9+__pyx_t_6, __pyx_v_allocation_change); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 10+__pyx_t_6, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2642: #else:
2643: #self.project_urban_pumping(da, dowy, m, wateryear, year_index, self.swp_allocation[t], self.cvp_allocation[t], self.forecastSRI[t])
2644:
+2645: if m == 10 and da == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_10, 10, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2645, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L44_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2645, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L44_bool_binop_done:; if (__pyx_t_3) { /* … */ }
2646: ###Pre flood demands - used to approximate the limit
2647: ###for carryover storage (don't want to carryover more water than you can
2648: ###use from Oct-Jan). Values for aqueduct branches are estimated to
2649: ###avoid 'perfect foresight'
+2650: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_18 = __pyx_t_1; __Pyx_INCREF(__pyx_t_18); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2650, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2650, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2650, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2650, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2651: x.find_baseline_demands(wateryear, self.non_leap_year, self.days_in_month)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_baseline_demands); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_wateryear, __pyx_t_4, __pyx_t_2}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_v_wateryear, __pyx_t_4, __pyx_t_2}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_t_2); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2652: for x in self.private_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_1 = __pyx_t_18; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2652, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2652, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2652, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2652, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2653: x.find_baseline_demands(self.non_leap_year, self.days_in_month)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_baseline_demands); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_non_leap_year); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_8, __pyx_t_2}; __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_8, __pyx_t_2}; __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_2); __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2654:
+2655: for x in self.urban_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urban_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_18 = __pyx_t_1; __Pyx_INCREF(__pyx_t_18); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2655, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2655, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2655, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2655, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2656: x.find_pre_flood_demand(year_index, self.days_in_month, wyt)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_pre_flood_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_year_index, __pyx_t_7, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_year_index, __pyx_t_7, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_v_wyt); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2657: self.socal.pre_flood_demand = 500.0
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_pre_flood_demand, __pyx_float_500_0) < 0) __PYX_ERR(0, 2657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2658: self.centralcoast.pre_flood_demand = 25.0
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_pre_flood_demand, __pyx_float_25_0) < 0) __PYX_ERR(0, 2658, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2659: self.southbay.pre_flood_demand = 15.0
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__Pyx_PyObject_SetAttrStr(__pyx_t_18, __pyx_n_s_pre_flood_demand, __pyx_float_15_0) < 0) __PYX_ERR(0, 2659, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2660:
2661: ###Take the monthly demands for each irrigation district and
2662: ###'assign' them to a reservoir - this is used to estimate
2663: ###fillup times so that districts know when to request recharge water
2664: #generates res.monthlydemand from aggregated district.monthlydemand
+2665: if da == 1:
__pyx_t_18 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2665, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_3) { /* … */ }
+2666: self.agg_contract_demands(year_index, m, wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_agg_contract_demands); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_year_index, __pyx_v_m, __pyx_v_wyt}; __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2666, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_18); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_year_index, __pyx_v_m, __pyx_v_wyt}; __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2666, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_18); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_year_index); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_v_wyt); __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2667:
2668: ##Once a month, find the recharge capacity for each irrigation district
2669: ###This capacity is projected forward for a year to project how capacity would decline
2670: ###under continuous use - recalculated every month to update for actual use
2671: #generates self.district.max_leiu_recharge & self.district.max_direct_recharge
+2672: if da == 1:
__pyx_t_18 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2672, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_3) { /* … */ }
+2673: for x in self.district_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_1 = __pyx_t_18; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2673, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2673, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2673, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2673, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2674: x.reset_recharge_recovery()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reset_recharge_recovery); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_18 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2674, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2675: for x in self.private_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_18 = __pyx_t_1; __Pyx_INCREF(__pyx_t_18); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_12 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2675, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2675, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2675, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_18); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2675, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+2676: x.reset_recharge_recovery()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reset_recharge_recovery); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2677: for x in self.city_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_1 = __pyx_t_18; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2677, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2677, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_18); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2677, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2677, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2678: x.reset_recharge_recovery()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reset_recharge_recovery); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_18 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
2679: ##searches through all waterbanks to find recharge capacity,
2680: ##applies that capacity to districts by ownership shares
+2681: self.find_recharge_bank(m,wyt)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_recharge_bank); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_wyt); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2682: ##searches through all leiu bankign districts to find recharge capacity,
2683: ##applies that capacity to districts by ownership shares
+2684: self.find_recharge_leiu(m,wyt)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_recharge_leiu); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2684, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2684, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_wyt); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2685: ##searches through all districts to find native recharge capacity
+2686: self.find_recharge_indistrict(m,wyt)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_recharge_indistrict); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_m, __pyx_v_wyt}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_wyt); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2687: self.find_leiu_exchange(wateryear, dowy)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_leiu_exchange); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_wateryear, __pyx_v_dowy}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2687, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_wateryear, __pyx_v_dowy}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2687, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_dowy); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2688:
2689:
2690: #Find the number of days before each reservoir is expected to fill-up
2691: ##Get Article 21 water from San Luis
2692: #for san luis - need to know if we can use the xvc from california aquduct - check for turnout to xvc from kern river and fkc
2693: ###find flood releases for the SWP at san luis (self.sanluisstate.min_daily_uncontrolled) - also find release toggles (for northern reservoir pumping coordination w/ san luis) and numdays_fillup for SWP district recharge decisions
+2694: expected_pumping = self.estimate_project_pumping(t, proj_surplus, max_pumping, swp_AS, cvp_AS, self.max_tax_free, flood_release, wytSC)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_estimate_project_pumping); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_max_tax_free); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_proj_surplus, __pyx_v_max_pumping, __pyx_v_swp_AS, __pyx_v_cvp_AS, __pyx_t_8, __pyx_v_flood_release, __pyx_v_wytSC}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_proj_surplus, __pyx_v_max_pumping, __pyx_v_swp_AS, __pyx_v_cvp_AS, __pyx_t_8, __pyx_v_flood_release, __pyx_v_wytSC}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_7 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_proj_surplus); __Pyx_GIVEREF(__pyx_v_proj_surplus); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_proj_surplus); __Pyx_INCREF(__pyx_v_max_pumping); __Pyx_GIVEREF(__pyx_v_max_pumping); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_max_pumping); __Pyx_INCREF(__pyx_v_swp_AS); __Pyx_GIVEREF(__pyx_v_swp_AS); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_swp_AS); __Pyx_INCREF(__pyx_v_cvp_AS); __Pyx_GIVEREF(__pyx_v_cvp_AS); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_v_cvp_AS); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_flood_release); __Pyx_GIVEREF(__pyx_v_flood_release); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_v_flood_release); __Pyx_INCREF(__pyx_v_wytSC); __Pyx_GIVEREF(__pyx_v_wytSC); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_6, __pyx_v_wytSC); __pyx_t_8 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_expected_pumping = __pyx_t_1; __pyx_t_1 = 0;
+2695: swp_release, swp_release2, self.sanluisstate.min_daily_uncontrolled, self.sanluisstate.numdays_fillup['demand'], fill_up_cross_swp = self.find_pumping_release(m, da, year_index, self.sanluisstate.S[t], 6680.0*cfs_tafd, self.sanluisstate.monthly_demand, self.sanluisstate.monthly_demand_must_fill, self.swpdelta.allocation[t-1]/self.swpdelta.total, expected_pumping['swp'], swp_AF, swp_AS, flood_volume['swp'], self.swpdelta.projected_carryover, self.swpdelta.running_carryover, self.max_tax_free, wyt, t, 'swp')
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_pumping_release); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_S); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyNumber_Multiply(__pyx_float_6680_0, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_allocation); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_total); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_17 = __Pyx_PyObject_Dict_GetItem(__pyx_v_flood_volume, __pyx_n_u_swp); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_projected_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_max_tax_free); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[19] = {__pyx_t_25, __pyx_v_m, __pyx_v_da, __pyx_v_year_index, __pyx_t_7, __pyx_t_5, __pyx_t_2, __pyx_t_4, __pyx_t_8, __pyx_t_21, __pyx_v_swp_AF, __pyx_v_swp_AS, __pyx_t_17, __pyx_t_23, __pyx_t_24, __pyx_t_22, __pyx_v_wyt, __pyx_v_t, __pyx_n_u_swp}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 18+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[19] = {__pyx_t_25, __pyx_v_m, __pyx_v_da, __pyx_v_year_index, __pyx_t_7, __pyx_t_5, __pyx_t_2, __pyx_t_4, __pyx_t_8, __pyx_t_21, __pyx_v_swp_AF, __pyx_v_swp_AS, __pyx_t_17, __pyx_t_23, __pyx_t_24, __pyx_t_22, __pyx_v_wyt, __pyx_v_t, __pyx_n_u_swp}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 18+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_26 = PyTuple_New(18+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_26, 4+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_26, 5+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_26, 6+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_26, 7+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_26, 8+__pyx_t_6, __pyx_t_21); __Pyx_INCREF(__pyx_v_swp_AF); __Pyx_GIVEREF(__pyx_v_swp_AF); PyTuple_SET_ITEM(__pyx_t_26, 9+__pyx_t_6, __pyx_v_swp_AF); __Pyx_INCREF(__pyx_v_swp_AS); __Pyx_GIVEREF(__pyx_v_swp_AS); PyTuple_SET_ITEM(__pyx_t_26, 10+__pyx_t_6, __pyx_v_swp_AS); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_26, 11+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_26, 12+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_26, 13+__pyx_t_6, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_26, 14+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_26, 15+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_26, 16+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_n_u_swp); __Pyx_GIVEREF(__pyx_n_u_swp); PyTuple_SET_ITEM(__pyx_t_26, 17+__pyx_t_6, __pyx_n_u_swp); __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_21 = 0; __pyx_t_17 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_22 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 5)) { if (size > 5) __Pyx_RaiseTooManyValuesError(5); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2695, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_18 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_26 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_22 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_24 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_23 = PyTuple_GET_ITEM(sequence, 4); } else { __pyx_t_18 = PyList_GET_ITEM(sequence, 0); __pyx_t_26 = PyList_GET_ITEM(sequence, 1); __pyx_t_22 = PyList_GET_ITEM(sequence, 2); __pyx_t_24 = PyList_GET_ITEM(sequence, 3); __pyx_t_23 = PyList_GET_ITEM(sequence, 4); } __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(__pyx_t_23); #else { Py_ssize_t i; PyObject** temps[5] = {&__pyx_t_18,&__pyx_t_26,&__pyx_t_22,&__pyx_t_24,&__pyx_t_23}; for (i=0; i < 5; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; PyObject** temps[5] = {&__pyx_t_18,&__pyx_t_26,&__pyx_t_22,&__pyx_t_24,&__pyx_t_23}; __pyx_t_17 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_17)->tp_iternext; for (index=0; index < 5; index++) { PyObject* item = __pyx_t_10(__pyx_t_17); if (unlikely(!item)) goto __pyx_L60_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_17), 5) < 0) __PYX_ERR(0, 2695, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; goto __pyx_L61_unpacking_done; __pyx_L60_unpacking_failed:; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2695, __pyx_L1_error) __pyx_L61_unpacking_done:; } __pyx_v_swp_release = __pyx_t_18; __pyx_t_18 = 0; __pyx_v_swp_release2 = __pyx_t_26; __pyx_t_26 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__Pyx_PyObject_SetAttrStr(__pyx_t_17, __pyx_n_s_min_daily_uncontrolled, __pyx_t_22) < 0) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_n_u_demand, __pyx_t_24) < 0)) __PYX_ERR(0, 2695, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_v_fill_up_cross_swp = __pyx_t_23; __pyx_t_23 = 0;
2696:
2697: ###find flood releases for the CVP at san luis (self.sanluisfederal.min_daily_uncontrolled) - also find release toggles (for northern reservoir pumping coordination w/ san luis) and numdays_fillup for SWP district recharge decisions
+2698: cvp_release, cvp_release2, self.sanluisfederal.min_daily_uncontrolled, self.sanluisfederal.numdays_fillup['demand'], fill_up_cross_cvp = self.find_pumping_release(m, da, year_index, self.sanluisfederal.S[t], 4430.0*cfs_tafd, self.sanluisfederal.monthly_demand, self.sanluisfederal.monthly_demand_must_fill, (self.cvpdelta.allocation[t-1] + self.cvpexchange.allocation[t-1])/(self.cvpexchange.total+self.cvpdelta.total), expected_pumping['cvp'], cvp_AF, cvp_AS, flood_volume['cvp'], self.cvpdelta.projected_carryover, self.cvpdelta.running_carryover + self.cvpexchange.running_carryover + self.crossvalley.running_carryover, self.max_tax_free, wyt, t, 'cvp')
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_pumping_release); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_S); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_26 = PyNumber_Multiply(__pyx_float_4430_0, __pyx_t_22); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_allocation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_22); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_allocation); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_Add(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_total); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_total); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_8, __pyx_t_17); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyNumber_Divide(__pyx_t_22, __pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_v_flood_volume, __pyx_n_u_cvp); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_projected_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_max_tax_free); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[19] = {__pyx_t_8, __pyx_v_m, __pyx_v_da, __pyx_v_year_index, __pyx_t_24, __pyx_t_26, __pyx_t_18, __pyx_t_21, __pyx_t_17, __pyx_t_4, __pyx_v_cvp_AF, __pyx_v_cvp_AS, __pyx_t_22, __pyx_t_2, __pyx_t_7, __pyx_t_5, __pyx_v_wyt, __pyx_v_t, __pyx_n_u_cvp}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 18+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[19] = {__pyx_t_8, __pyx_v_m, __pyx_v_da, __pyx_v_year_index, __pyx_t_24, __pyx_t_26, __pyx_t_18, __pyx_t_21, __pyx_t_17, __pyx_t_4, __pyx_v_cvp_AF, __pyx_v_cvp_AS, __pyx_t_22, __pyx_t_2, __pyx_t_7, __pyx_t_5, __pyx_v_wyt, __pyx_v_t, __pyx_n_u_cvp}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 18+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_25 = PyTuple_New(18+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_6, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_6, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_6, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_6, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_25, 7+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_25, 8+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_cvp_AF); __Pyx_GIVEREF(__pyx_v_cvp_AF); PyTuple_SET_ITEM(__pyx_t_25, 9+__pyx_t_6, __pyx_v_cvp_AF); __Pyx_INCREF(__pyx_v_cvp_AS); __Pyx_GIVEREF(__pyx_v_cvp_AS); PyTuple_SET_ITEM(__pyx_t_25, 10+__pyx_t_6, __pyx_v_cvp_AS); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_25, 11+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_25, 12+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_25, 13+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_25, 14+__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_25, 15+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_25, 16+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_n_u_cvp); __Pyx_GIVEREF(__pyx_n_u_cvp); PyTuple_SET_ITEM(__pyx_t_25, 17+__pyx_t_6, __pyx_n_u_cvp); __pyx_t_24 = 0; __pyx_t_26 = 0; __pyx_t_18 = 0; __pyx_t_21 = 0; __pyx_t_17 = 0; __pyx_t_4 = 0; __pyx_t_22 = 0; __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_25, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 5)) { if (size > 5) __Pyx_RaiseTooManyValuesError(5); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2698, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_23 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_25 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 4); } else { __pyx_t_23 = PyList_GET_ITEM(sequence, 0); __pyx_t_25 = PyList_GET_ITEM(sequence, 1); __pyx_t_5 = PyList_GET_ITEM(sequence, 2); __pyx_t_7 = PyList_GET_ITEM(sequence, 3); __pyx_t_2 = PyList_GET_ITEM(sequence, 4); } __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_2); #else { Py_ssize_t i; PyObject** temps[5] = {&__pyx_t_23,&__pyx_t_25,&__pyx_t_5,&__pyx_t_7,&__pyx_t_2}; for (i=0; i < 5; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; PyObject** temps[5] = {&__pyx_t_23,&__pyx_t_25,&__pyx_t_5,&__pyx_t_7,&__pyx_t_2}; __pyx_t_22 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_22)->tp_iternext; for (index=0; index < 5; index++) { PyObject* item = __pyx_t_10(__pyx_t_22); if (unlikely(!item)) goto __pyx_L62_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_22), 5) < 0) __PYX_ERR(0, 2698, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; goto __pyx_L63_unpacking_done; __pyx_L62_unpacking_failed:; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2698, __pyx_L1_error) __pyx_L63_unpacking_done:; } __pyx_v_cvp_release = __pyx_t_23; __pyx_t_23 = 0; __pyx_v_cvp_release2 = __pyx_t_25; __pyx_t_25 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__Pyx_PyObject_SetAttrStr(__pyx_t_22, __pyx_n_s_min_daily_uncontrolled, __pyx_t_5) < 0) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_n_u_demand, __pyx_t_7) < 0)) __PYX_ERR(0, 2698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_fill_up_cross_cvp = __pyx_t_2; __pyx_t_2 = 0;
2699:
+2700: self.sanluisfederal.days_til_full[t] = min(self.sanluisfederal.numdays_fillup['demand'],fill_up_cross_cvp)
__Pyx_INCREF(__pyx_v_fill_up_cross_cvp); __pyx_t_1 = __pyx_v_fill_up_cross_cvp; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_demand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2700, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_days_til_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_t_1) < 0)) __PYX_ERR(0, 2700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2701: self.sanluisstate.days_til_full[t] = min(self.sanluisstate.numdays_fillup['demand'],fill_up_cross_swp)
__Pyx_INCREF(__pyx_v_fill_up_cross_swp); __pyx_t_1 = __pyx_v_fill_up_cross_swp; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_demand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2701, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_days_til_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_t, __pyx_t_1) < 0)) __PYX_ERR(0, 2701, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2702:
2703: ###June 1st, determine who is buying/selling into 'turnback pools' for the SWP.
2704: ###Note: look into other contract types to determine if this happens in CVP, Friant, local source contracts too
+2705: if m == 6 and da == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_6, 6, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L65_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L65_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+2706: for y in self.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2706, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2706, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2706, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2706, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+2707: seller_total = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_seller_total, __pyx_float_0_0);
+2708: buyer_total = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_buyer_total, __pyx_float_0_0);
+2709: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2709, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2709, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2709, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2709, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2710: seller_turnback, buyer_turnback = x.set_turnback_pool(y.name, year_index, self.days_in_month)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_turnback_pool); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_25, __pyx_v_year_index, __pyx_t_23}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_t_25, __pyx_v_year_index, __pyx_t_23}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_22 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_t_25); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_6, __pyx_t_23); __pyx_t_25 = 0; __pyx_t_23 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_22, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2710, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_22 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_22 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_22); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_5)) goto __pyx_L71_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_22 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_22)) goto __pyx_L71_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_23), 2) < 0) __PYX_ERR(0, 2710, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L72_unpacking_done; __pyx_L71_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2710, __pyx_L1_error) __pyx_L72_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_seller_turnback, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_buyer_turnback, __pyx_t_22); __pyx_t_22 = 0;
+2711: seller_total += seller_turnback
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_seller_total, __pyx_v_seller_turnback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_seller_total, __pyx_t_1); __pyx_t_1 = 0;
+2712: buyer_total += buyer_turnback
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_buyer_total, __pyx_v_buyer_turnback); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2712, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_buyer_total, __pyx_t_1); __pyx_t_1 = 0;
+2713: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2713, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2713, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2713, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2713, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2714: total_contract = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_t_7); __pyx_t_7 = 0;
+2715: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_22 = __pyx_t_7; __Pyx_INCREF(__pyx_t_22); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_16 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2715, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2715, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_22, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2715, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_22, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_16(__pyx_t_22); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2715, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
2716: # district_object = self.district_keys[xx]
+2717: total_contract[xx] = self.district_keys[xx].project_contract['tableA']
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_tableA); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_v_total_contract, __pyx_v_xx, __pyx_t_5) < 0)) __PYX_ERR(0, 2717, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2718: additional_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_additional_carryover, __pyx_float_0_0);
+2719: seller_turnback, buyer_turnback = x.set_turnback_pool(y.name, year_index, self.days_in_month, additional_carryover)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_turnback_pool); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_25, __pyx_t_7, __pyx_v_year_index, __pyx_t_23, __pyx_v_additional_carryover}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[5] = {__pyx_t_25, __pyx_t_7, __pyx_v_year_index, __pyx_t_23, __pyx_v_additional_carryover}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_4 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_t_23); __Pyx_INCREF(__pyx_v_additional_carryover); __Pyx_GIVEREF(__pyx_v_additional_carryover); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_additional_carryover); __pyx_t_7 = 0; __pyx_t_23 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2719, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_4 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_5)) goto __pyx_L77_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_4 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_4)) goto __pyx_L77_unpacking_failed; __Pyx_GOTREF(__pyx_t_4); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_23), 2) < 0) __PYX_ERR(0, 2719, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L78_unpacking_done; __pyx_L77_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2719, __pyx_L1_error) __pyx_L78_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_seller_turnback, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_buyer_turnback, __pyx_t_4); __pyx_t_4 = 0;
+2720: for xx in x.district_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_4 = __pyx_t_22; __Pyx_INCREF(__pyx_t_4); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2720, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2720, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2720, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_16(__pyx_t_4); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2720, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2721: seller_total += seller_turnback[xx]
__pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_v_seller_turnback, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_seller_total, __pyx_t_22); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF_SET(__pyx_v_seller_total, __pyx_t_5); __pyx_t_5 = 0;
+2722: buyer_total += buyer_turnback[xx]
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_buyer_turnback, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_v_buyer_total, __pyx_t_5); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_buyer_total, __pyx_t_22); __pyx_t_22 = 0;
2723:
+2724: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2724, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2724, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2724, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2724, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2724, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2725: x.make_turnback_purchases(seller_total, buyer_total, y.name)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_make_turnback_purchases); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_23, __pyx_v_seller_total, __pyx_v_buyer_total, __pyx_t_5}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_23, __pyx_v_seller_total, __pyx_v_buyer_total, __pyx_t_5}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_seller_total); __Pyx_GIVEREF(__pyx_v_seller_total); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_seller_total); __Pyx_INCREF(__pyx_v_buyer_total); __Pyx_GIVEREF(__pyx_v_buyer_total); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_buyer_total); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2726: for x in self.city_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2726, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2726, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_4); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2726, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2726, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2727: x.make_turnback_purchases(seller_total, buyer_total, y.name)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_make_turnback_purchases); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_seller_total, __pyx_v_buyer_total, __pyx_t_7}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_seller_total, __pyx_v_buyer_total, __pyx_t_7}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_23 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_seller_total); __Pyx_GIVEREF(__pyx_v_seller_total); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_seller_total); __Pyx_INCREF(__pyx_v_buyer_total); __Pyx_GIVEREF(__pyx_v_buyer_total); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_buyer_total); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_7); __pyx_t_7 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_23, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
2728:
2729:
2730:
2731: ####This function finds the expected # of days that a reservoir will fill
2732: ####districts use this numdays_fillup attribute to determine when to recharge
2733: ####carryover water
+2734: for reservoir in [self.success, self.kaweah, self.isabella, self.pineflat, self.millerton]:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_23); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_23 = __pyx_t_7; __Pyx_INCREF(__pyx_t_23); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (__pyx_t_9 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2734, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2735: reservoir.find_flow_pumping(t, m, dowy, year_index, self.days_in_month, self.dowy_eom, wyt, 'demand')
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_find_flow_pumping); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[9] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_year_index, __pyx_t_4, __pyx_t_1, __pyx_v_wyt, __pyx_n_u_demand}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[9] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_year_index, __pyx_t_4, __pyx_t_1, __pyx_v_wyt, __pyx_n_u_demand}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_5 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_5, 6+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_n_u_demand); __Pyx_GIVEREF(__pyx_n_u_demand); PyTuple_SET_ITEM(__pyx_t_5, 7+__pyx_t_6, __pyx_n_u_demand); __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_5, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2736: reservoir.days_til_full[t] = min(reservoir.numdays_fillup['demand'], reservoir.numdays_fillup['lookahead'])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_22, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2736, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_22); __pyx_t_7 = __pyx_t_22; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __pyx_t_7; __Pyx_INCREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_days_til_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_t, __pyx_t_22) < 0)) __PYX_ERR(0, 2736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
2737:
2738: #Update Contract Allocations
+2739: for y in self.contract_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_22 = __pyx_t_23; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2739, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2739, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2739, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2739, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2739, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
2740: #for a specific contract, look up the reservoir it is stored in
+2741: reservoir = self.contract_reservoir[y.key]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_5); __pyx_t_5 = 0;
2742: #then find all the contracts associated with that reservoir
+2743: this_reservoir_all_contract = self.reservoir_contract[reservoir.key]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_this_reservoir_all_contract, __pyx_t_23); __pyx_t_23 = 0;
2744: #need to find the total deliveries already made from the reservoir,
2745: #total carryover storage at the reservoir, and the total priority/secondary allocations
2746: #at that reservoir
+2747: priority_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_deliveries, __pyx_float_0_0);
+2748: secondary_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_secondary_deliveries, __pyx_float_0_0);
+2749: total_res_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_res_carryover, __pyx_float_0_0);
+2750: priority_contract = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_contract, __pyx_float_0_0);
+2751: secondary_contract = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_secondary_contract, __pyx_float_0_0);
+2752: extra_allocation = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_extra_allocation, __pyx_float_0_0);
+2753: for yy in this_reservoir_all_contract:
if (likely(PyList_CheckExact(__pyx_v_this_reservoir_all_contract)) || PyTuple_CheckExact(__pyx_v_this_reservoir_all_contract)) { __pyx_t_23 = __pyx_v_this_reservoir_all_contract; __Pyx_INCREF(__pyx_t_23); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_v_this_reservoir_all_contract); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2753, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2753, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2753, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_23); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2753, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2754: total_res_carryover += yy.tot_carryover
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_total_res_carryover, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_total_res_carryover, __pyx_t_5); __pyx_t_5 = 0;
+2755: extra_allocation += yy.tot_new_alloc
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_extra_allocation, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_extra_allocation, __pyx_t_7); __pyx_t_7 = 0;
+2756: if yy.allocation_priority == 1:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_7, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2756, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L91; }
+2757: priority_contract += yy.total*yy.reduction[wyt]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_total); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_reduction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_priority_contract, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_priority_contract, __pyx_t_1); __pyx_t_1 = 0;
+2758: priority_deliveries += yy.annual_deliveries[wateryear]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_priority_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_priority_deliveries, __pyx_t_1); __pyx_t_1 = 0;
2759: else:
+2760: secondary_contract += yy.total*yy.reduction[wyt]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_total); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_reduction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Multiply(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_secondary_contract, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2760, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF_SET(__pyx_v_secondary_contract, __pyx_t_5);
__pyx_t_5 = 0;
+2761: secondary_deliveries += yy.annual_deliveries[wateryear]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wateryear); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_secondary_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2761, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_secondary_deliveries, __pyx_t_5); __pyx_t_5 = 0; } __pyx_L91:;
2762: #san luis doesn't have available_storage forecasts, so input from northern model is used
2763: #for state & federal portions
+2764: if reservoir.key == "SLS":
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_23, __pyx_n_u_SLS, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L92; }
+2765: total_allocation = self.swp_allocation[t] - self.pumping_turnback['SLS'] + extra_allocation - self.allocation_losses['SLS']
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swp_allocation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLS); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Add(__pyx_t_23, __pyx_v_extra_allocation); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLS); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_23); __pyx_t_23 = 0;
+2766: reservoir.reclaimed_carryover[t] = extra_allocation - self.pumping_turnback['SLS']
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLS); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_v_extra_allocation, __pyx_t_5); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_reclaimed_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_t, __pyx_t_23) < 0)) __PYX_ERR(0, 2766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2767: reservoir.contract_flooded[t] = self.allocation_losses['SLS'] * 1.0
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLS); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Multiply(__pyx_t_5, __pyx_float_1_0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_contract_flooded); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_t, __pyx_t_23) < 0)) __PYX_ERR(0, 2767, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2768: tot_ind_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_ind_deliveries, __pyx_float_0_0);
+2769: tot_ind_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_ind_carryover, __pyx_float_0_0);
+2770: tot_ind_turnback = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_ind_turnback, __pyx_float_0_0);
+2771: tot_ind_paper = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_ind_paper, __pyx_float_0_0);
2772:
+2773: for x in self.district_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_5 = __pyx_t_23; __Pyx_INCREF(__pyx_t_5); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2773, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2773, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2773, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_14(__pyx_t_5); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2773, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2774: tot_ind_carryover += x.carryover[y.name]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_carryover, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_carryover, __pyx_t_7); __pyx_t_7 = 0;
+2775: tot_ind_deliveries += x.deliveries[y.name][wateryear]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_deliveries, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_deliveries, __pyx_t_23); __pyx_t_23 = 0;
+2776: tot_ind_turnback += x.turnback_pool[y.name]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_turnback, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_turnback, __pyx_t_1); __pyx_t_1 = 0;
+2777: tot_ind_paper += x.paper_balance[y.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_paper, __pyx_t_23); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_paper, __pyx_t_7); __pyx_t_7 = 0;
+2778: for x in self.private_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2778, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2778, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2778, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2778, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2779: for xx in x.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_23 = __pyx_t_5; __Pyx_INCREF(__pyx_t_23); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_16 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2779, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2779, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_23, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2779, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_23, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_16(__pyx_t_23); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2779, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2780: tot_ind_carryover += x.carryover[xx][y.name]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_carryover, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_carryover, __pyx_t_5); __pyx_t_5 = 0;
+2781: tot_ind_deliveries += x.deliveries[xx][y.name][wateryear]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_deliveries, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2781, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_deliveries, __pyx_t_1); __pyx_t_1 = 0;
+2782: tot_ind_turnback += x.turnback_pool[xx][y.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_turnback, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_turnback, __pyx_t_1); __pyx_t_1 = 0;
+2783: tot_ind_paper += x.paper_balance[xx][y.name]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (unlikely(!__pyx_v_xx)) { __Pyx_RaiseUnboundLocalError("xx"); __PYX_ERR(0, 2783, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_23); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_paper, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_paper, __pyx_t_23); __pyx_t_23 = 0;
+2784: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_23 = __pyx_t_7; __Pyx_INCREF(__pyx_t_23); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2784, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2784, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2784, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_23); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2784, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2785: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_4 = __pyx_t_7; __Pyx_INCREF(__pyx_t_4); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2785, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2785, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2785, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2785, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_16(__pyx_t_4); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2785, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+2786: tot_ind_carryover += x.carryover[xx][y.name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_carryover, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_carryover, __pyx_t_7); __pyx_t_7 = 0;
+2787: tot_ind_deliveries += x.deliveries[xx][y.name][wateryear]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_deliveries, __pyx_t_1); __pyx_t_1 = 0;
+2788: tot_ind_turnback += x.turnback_pool[xx][y.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_turnback, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_turnback, __pyx_t_1); __pyx_t_1 = 0;
+2789: tot_ind_paper += x.paper_balance[xx][y.name]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(!__pyx_v_xx)) { __Pyx_RaiseUnboundLocalError("xx"); __PYX_ERR(0, 2789, __pyx_L1_error) } __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_tot_ind_paper, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_tot_ind_paper, __pyx_t_4); __pyx_t_4 = 0;
2790:
2791:
+2792: elif reservoir.key == "SLF":
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_23, __pyx_n_u_SLF, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L92; }
+2793: total_allocation = self.cvp_allocation[t] - self.pumping_turnback['SLF'] + extra_allocation - self.allocation_losses['SLF']
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvp_allocation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLF); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_23, __pyx_v_extra_allocation); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_23); __pyx_t_23 = 0;
+2794: reservoir.reclaimed_carryover[t] = extra_allocation - self.pumping_turnback['SLF']
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_v_extra_allocation, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_reclaimed_carryover); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_t, __pyx_t_23) < 0)) __PYX_ERR(0, 2794, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+2795: reservoir.contract_flooded[t] = self.allocation_losses['SLF'] * 1.0
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_SLF); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Multiply(__pyx_t_4, __pyx_float_1_0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_contract_flooded); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_t, __pyx_t_23) < 0)) __PYX_ERR(0, 2795, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
2796:
+2797: elif reservoir.key == 'MIL':
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_23, __pyx_n_u_MIL, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2797, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L92; }
+2798: if m > 9 or m < 3:
__pyx_t_23 = PyObject_RichCompare(__pyx_v_m, __pyx_int_9, Py_GT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2798, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L104_bool_binop_done; } __pyx_t_23 = PyObject_RichCompare(__pyx_v_m, __pyx_int_3, Py_LT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2798, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L104_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L103; }
+2799: total_allocation = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_float_0_0);
2800: else:
+2801: if y.allocation_priority == 1:
/*else*/ {
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2801, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_23, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2801, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2801, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_3) {
/* … */
goto __pyx_L106;
}
+2802: total_allocation = reservoir.available_storage[t] + y.annual_deliveries[wateryear] - max(total_res_carryover, 0.0)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_23, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_19 = 0.0; __Pyx_INCREF(__pyx_v_total_res_carryover); __pyx_t_5 = __pyx_v_total_res_carryover; __pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { __pyx_t_7 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_23 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_5); __pyx_t_5 = 0;
2803: else:
+2804: total_allocation = reservoir.available_storage[t] + priority_deliveries + y.annual_deliveries[wateryear] - max(total_res_carryover, 0.0)
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Add(__pyx_t_23, __pyx_v_priority_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = PyNumber_Add(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_19 = 0.0;
__Pyx_INCREF(__pyx_v_total_res_carryover);
__pyx_t_4 = __pyx_v_total_res_carryover;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_7, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_5 = __pyx_t_4;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Subtract(__pyx_t_23, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2804, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_4);
__pyx_t_4 = 0;
}
__pyx_L106:;
}
__pyx_L103:;
2805:
2806: else:
2807: #otherwise, total allocation at the reservoir is equal to available storage + deliveries - the total carryover storage
+2808: if y.allocation_priority == 1:
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2808, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2808, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2808, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
/* … */
goto __pyx_L107;
}
+2809: total_allocation = reservoir.available_storage[t] + y.annual_deliveries[wateryear] - max(total_res_carryover, 0.0)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wateryear); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_19 = 0.0; __Pyx_INCREF(__pyx_v_total_res_carryover); __pyx_t_23 = __pyx_v_total_res_carryover; __pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_23, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { __pyx_t_7 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_INCREF(__pyx_t_23); __pyx_t_4 = __pyx_t_23; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_Subtract(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_23); __pyx_t_23 = 0;
2810: else:
+2811: total_allocation = reservoir.available_storage[t] + priority_deliveries + y.annual_deliveries[wateryear] - max(total_res_carryover, 0.0)
/*else*/ {
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_available_storage); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = PyNumber_Add(__pyx_t_4, __pyx_v_priority_deliveries); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Add(__pyx_t_23, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_19 = 0.0;
__Pyx_INCREF(__pyx_v_total_res_carryover);
__pyx_t_5 = __pyx_v_total_res_carryover;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_23 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_23 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Subtract(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2811, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_XDECREF_SET(__pyx_v_total_allocation, __pyx_t_5);
__pyx_t_5 = 0;
}
__pyx_L107:;
}
__pyx_L92:;
2812:
+2813: y.calc_allocation(t, dowy, total_allocation, priority_contract, secondary_contract, wyt)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_calc_allocation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_total_allocation, __pyx_v_priority_contract, __pyx_v_secondary_contract, __pyx_v_wyt}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2813, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_total_allocation, __pyx_v_priority_contract, __pyx_v_secondary_contract, __pyx_v_wyt}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2813, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_1 = PyTuple_New(6+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_total_allocation); __Pyx_GIVEREF(__pyx_v_total_allocation); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_v_total_allocation); __Pyx_INCREF(__pyx_v_priority_contract); __Pyx_GIVEREF(__pyx_v_priority_contract); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_6, __pyx_v_priority_contract); __Pyx_INCREF(__pyx_v_secondary_contract); __Pyx_GIVEREF(__pyx_v_secondary_contract); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_6, __pyx_v_secondary_contract); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_6, __pyx_v_wyt); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2813, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2814: ##Find contract 'storage pools' - how much water is available right now
2815: ##san luis federal storage is divided between 3 water contracts - cvpdelta, exchange, and crossvalley
2816: ##millerton storage is divided between 2 water contracts - friant1 and friant2
+2817: for y in self.contract_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_5 = __pyx_t_22; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2817, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2817, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2817, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2817, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
2818: #for a specific contract, look up the reservoir it is stored in
+2819: reservoir = self.contract_reservoir[y.key]
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_t_23); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_1); __pyx_t_1 = 0;
2820: #then find all the contracts associated with that reservoir
+2821: this_reservoir_all_contract = self.reservoir_contract[reservoir.key]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_this_reservoir_all_contract, __pyx_t_22); __pyx_t_22 = 0;
+2822: tot_res_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_res_deliveries, __pyx_float_0_0);
+2823: priority_storage = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_storage, __pyx_float_0_0);
+2824: tot_res_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_tot_res_carryover, __pyx_float_0_0);
+2825: for yy in this_reservoir_all_contract:
if (likely(PyList_CheckExact(__pyx_v_this_reservoir_all_contract)) || PyTuple_CheckExact(__pyx_v_this_reservoir_all_contract)) { __pyx_t_22 = __pyx_v_this_reservoir_all_contract; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_v_this_reservoir_all_contract); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2825, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2825, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2825, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2825, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
2826: #if some contracts at a reservoir have 'priority' over storage space
2827: #(i.e., cvpdelta and exchange contracts have priority over the federal
2828: #san luis storage), calculate the total allocation volume that has priority
2829: #in a reservoir
+2830: tot_res_deliveries += yy.annual_deliveries[wateryear]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_tot_res_deliveries, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2830, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_tot_res_deliveries, __pyx_t_23); __pyx_t_23 = 0;
+2831: tot_res_carryover += yy.tot_carryover
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_tot_res_carryover, __pyx_t_23); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_tot_res_carryover, __pyx_t_1); __pyx_t_1 = 0;
+2832: if yy.storage_priority == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_storage_priority); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2832, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ }
+2833: priority_storage += yy.allocation[t]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_allocation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_priority_storage, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_priority_storage, __pyx_t_23); __pyx_t_23 = 0;
2834: ##contract storage pools are the existing storage plus all the deliveries
2835: ##that have been made so far in that water year - so 'storage pool' is all
2836: ##the contract water that has already come into the reservoir, even water
2837: ##that has already been delivered
+2838: total_water = reservoir.S[t] - reservoir.dead_pool + tot_res_deliveries - tot_res_carryover
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_dead_pool); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = PyNumber_Subtract(__pyx_t_23, __pyx_t_22); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_Add(__pyx_t_1, __pyx_v_tot_res_deliveries); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_22, __pyx_v_tot_res_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_total_water, __pyx_t_1); __pyx_t_1 = 0;
2839: #find the storage pool for each contract
+2840: y.find_storage_pool(t, wateryear, total_water, reservoir.S[t], priority_storage)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_find_storage_pool); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_t, __pyx_v_wateryear, __pyx_v_total_water, __pyx_t_4, __pyx_v_priority_storage}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_t, __pyx_v_wateryear, __pyx_v_total_water, __pyx_t_4, __pyx_v_priority_storage}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_7 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_total_water); __Pyx_GIVEREF(__pyx_v_total_water); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_total_water); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_priority_storage); __Pyx_GIVEREF(__pyx_v_priority_storage); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_v_priority_storage); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2840, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2841:
2842:
2843: ##Update District Contracts
2844: #self.assign_uncontrolled(t, wateryear)
+2845: for y in self.contract_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2845, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2845, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2845, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2845, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2846: y.projected_carryover = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_projected_carryover, __pyx_float_0_0) < 0) __PYX_ERR(0, 2846, __pyx_L1_error)
+2847: y.running_carryover = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover, __pyx_float_0_0) < 0) __PYX_ERR(0, 2847, __pyx_L1_error)
2848: #for each contract in each district, what is the district's share of (i) currently available (surface water) storage and (ii) expected remaining allocation
+2849: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2849, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2849, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2849, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2849, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+2850: for y in self.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_22 = __pyx_t_1; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2850, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2850, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2850, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2850, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2850, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+2851: next_year_carryover, this_year_carryover = x.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_18 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[9] = {__pyx_t_18, __pyx_v_t, __pyx_v_wateryear, __pyx_t_23, __pyx_t_2, __pyx_t_25, __pyx_t_4, __pyx_t_17, __pyx_t_21}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[9] = {__pyx_t_18, __pyx_v_t, __pyx_v_wateryear, __pyx_t_23, __pyx_t_2, __pyx_t_25, __pyx_t_4, __pyx_t_17, __pyx_t_21}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } else #endif { __pyx_t_26 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_26, 4+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_26, 5+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_26, 6+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_26, 7+__pyx_t_6, __pyx_t_21); __pyx_t_23 = 0; __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_4 = 0; __pyx_t_17 = 0; __pyx_t_21 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_26, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2851, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_26 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_26 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_26); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_21)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_21); if (unlikely(!__pyx_t_7)) goto __pyx_L119_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_26 = __pyx_t_10(__pyx_t_21); if (unlikely(!__pyx_t_26)) goto __pyx_L119_unpacking_failed; __Pyx_GOTREF(__pyx_t_26); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_21), 2) < 0) __PYX_ERR(0, 2851, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; goto __pyx_L120_unpacking_done; __pyx_L119_unpacking_failed:; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2851, __pyx_L1_error) __pyx_L120_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_26); __pyx_t_26 = 0;
+2852: y.projected_carryover += next_year_carryover
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_projected_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_v_next_year_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_projected_carryover, __pyx_t_26) < 0) __PYX_ERR(0, 2852, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2853: y.running_carryover += this_year_carryover
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_26, __pyx_v_this_year_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover, __pyx_t_1) < 0) __PYX_ERR(0, 2853, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2854:
+2855: for x in self.private_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_22 = __pyx_t_5; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2855, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2855, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2855, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2855, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+2856: for y in self.contract_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2856, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2856, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2856, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2856, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2857: for z in x.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_26 = __pyx_t_5; __Pyx_INCREF(__pyx_t_26); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_16 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2857, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2857, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2857, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_16(__pyx_t_26); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2857, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2858: # district_object = self.district_keys[z]
+2859: next_year_carryover, this_year_carryover = x.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type, z, self.district_keys[z].project_contract, self.district_keys[z].rights)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_t); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_v_t); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_z); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_v_z); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_rights); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[12] = {__pyx_t_8, __pyx_v_t, __pyx_v_wateryear, __pyx_t_17, __pyx_t_4, __pyx_t_25, __pyx_t_21, __pyx_t_2, __pyx_t_23, __pyx_v_z, __pyx_t_18, __pyx_t_24}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[12] = {__pyx_t_8, __pyx_v_t, __pyx_v_wateryear, __pyx_t_17, __pyx_t_4, __pyx_t_25, __pyx_t_21, __pyx_t_2, __pyx_t_23, __pyx_v_z, __pyx_t_18, __pyx_t_24}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_27 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_6, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_27, 6+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_27, 7+__pyx_t_6, __pyx_t_23); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_27, 8+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_27, 9+__pyx_t_6, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_27, 10+__pyx_t_6, __pyx_t_24); __pyx_t_17 = 0; __pyx_t_4 = 0; __pyx_t_25 = 0; __pyx_t_21 = 0; __pyx_t_2 = 0; __pyx_t_23 = 0; __pyx_t_18 = 0; __pyx_t_24 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_27, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2859, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_27 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_27 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_27); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_27 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2859, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_24)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_24); if (unlikely(!__pyx_t_7)) goto __pyx_L127_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_27 = __pyx_t_10(__pyx_t_24); if (unlikely(!__pyx_t_27)) goto __pyx_L127_unpacking_failed; __Pyx_GOTREF(__pyx_t_27); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_24), 2) < 0) __PYX_ERR(0, 2859, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; goto __pyx_L128_unpacking_done; __pyx_L127_unpacking_failed:; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2859, __pyx_L1_error) __pyx_L128_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_27); __pyx_t_27 = 0;
+2860: y.running_carryover += this_year_carryover
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_v_this_year_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover, __pyx_t_27) < 0) __PYX_ERR(0, 2860, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
2861: #next_year_carryover = x.apply_paper_balance(y.name, wyt, wateryear)
2862: #y.projected_carryover += next_year_carryover
2863:
2864:
+2865: for x in self.city_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_1 = __pyx_t_22; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2865, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2865, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2865, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2865, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2866: for y in self.contract_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_26 = __pyx_t_22; __Pyx_INCREF(__pyx_t_26); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_14 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2866, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2866, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2866, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_14(__pyx_t_26); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2866, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2867: for z in x.district_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_27 = __pyx_t_22; __Pyx_INCREF(__pyx_t_27); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_16 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 2867, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2867, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2867, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_16(__pyx_t_27); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2867, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
2868: # district_object = self.district_keys[z]
+2869: next_year_carryover, this_year_carryover = x.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type, z, self.district_keys[z].project_contract, self.district_keys[z].rights)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_z); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_z); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_rights); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_17, __pyx_v_t, __pyx_v_wateryear, __pyx_t_24, __pyx_t_18, __pyx_t_23, __pyx_t_7, __pyx_t_2, __pyx_t_21, __pyx_v_z, __pyx_t_25, __pyx_t_4}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[12] = {__pyx_t_17, __pyx_v_t, __pyx_v_wateryear, __pyx_t_24, __pyx_t_18, __pyx_t_23, __pyx_t_7, __pyx_t_2, __pyx_t_21, __pyx_v_z, __pyx_t_25, __pyx_t_4}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 11+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_8 = PyTuple_New(11+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_6, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 5+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 6+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_8, 7+__pyx_t_6, __pyx_t_21); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_8, 8+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_8, 9+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 10+__pyx_t_6, __pyx_t_4); __pyx_t_24 = 0; __pyx_t_18 = 0; __pyx_t_23 = 0; __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_21 = 0; __pyx_t_25 = 0; __pyx_t_4 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2869, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_8 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_8); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2869, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_4)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_10(__pyx_t_4); if (unlikely(!__pyx_t_5)) goto __pyx_L135_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_8 = __pyx_t_10(__pyx_t_4); if (unlikely(!__pyx_t_8)) goto __pyx_L135_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_4), 2) < 0) __PYX_ERR(0, 2869, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L136_unpacking_done; __pyx_L135_unpacking_failed:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2869, __pyx_L1_error) __pyx_L136_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_8); __pyx_t_8 = 0;
+2870: y.running_carryover += this_year_carryover
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_22, __pyx_v_this_year_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2870, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover, __pyx_t_8) < 0) __PYX_ERR(0, 2870, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
2871: #next_year_carryover = x.apply_paper_balance_urban(y.name, wyt, wateryear)
2872: #y.projected_carryover += next_year_carryover
2873:
2874:
2875:
2876: ##summation of all projected contracts for each water district (total surface water expected)
+2877: counter = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_counter = __pyx_int_0;
2878: #find the 'in leiu' recovery capacity at each in-leiu recharge district using this day's irrigation demand
2879: #recovery is based on the surface water allocations for the in-leiu bank (i.e., the surface water that they give their banking partners
2880: #when the partners want to recover banked water
+2881: self.update_leiu_capacity()
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_update_leiu_capacity); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); } } __pyx_t_1 = (__pyx_t_27) ? __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_27) : __Pyx_PyObject_CallNoArg(__pyx_t_26); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2881, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2882:
+2883: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_26 = __pyx_t_1; __Pyx_INCREF(__pyx_t_26); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_12 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2883, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2883, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2883, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_26); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2883, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2884: #district can request recovery of their banked water
+2885: if x.key == 'SOB':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_SOB, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2885, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L139; }
+2886: target_eoy = 50.0
__pyx_v_target_eoy = 50.0;
2887: else:
+2888: target_eoy = 0.0
/*else*/ {
__pyx_v_target_eoy = 0.0;
}
__pyx_L139:;
+2889: x.open_recovery(t, dowy, wateryear, target_eoy)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recovery); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_target_eoy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_22 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_8}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_8}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_5 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_t_8); __pyx_t_8 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2890: ##Recover Banked Water
+2891: use_tolerance = 0
__pyx_v_use_tolerance = 0;
+2892: for x in self.private_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_1 = __pyx_t_26; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2892, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2892, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2892, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2892, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2893: x.open_recovery(t, dowy, wateryear, self.number_years, wyt, use_tolerance, 0.0)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recovery); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_v_use_tolerance); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_22 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_5, __pyx_v_wyt, __pyx_t_8, __pyx_float_0_0}; __pyx_t_26 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_5, __pyx_v_wyt, __pyx_t_8, __pyx_float_0_0}; __pyx_t_26 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_4 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_6, __pyx_v_wyt); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_6, __pyx_float_0_0); __pyx_t_5 = 0; __pyx_t_8 = 0; __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_4, NULL); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2894: use_tolerance = 0
__pyx_v_use_tolerance = 0;
+2895: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_26 = __pyx_t_1; __Pyx_INCREF(__pyx_t_26); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_12 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2895, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2895, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2895, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2895, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_26); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2895, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2896: # for xx in x.district_list:
2897: # district_object = self.district_keys[xx]
2898: # total_contract = self.district_keys[xx].project_contract['tableA']
2899: # if dowy > 273:
2900: # #additional_carryover = x.get_urban_recovery_target(expected_pumping, total_contract, wateryear, dowy, year_index, wyt, 90, t, xx)
2901: # additional_carryover = 0.0
2902: # else:
2903: # additional_carryover = 0.0
+2904: additional_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_additional_carryover, __pyx_float_0_0);
+2905: x.open_recovery(t, dowy, wateryear, self.number_years, wyt, use_tolerance, additional_carryover)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recovery); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_v_use_tolerance); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_4, __pyx_v_wyt, __pyx_t_8, __pyx_v_additional_carryover}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_4, __pyx_v_wyt, __pyx_t_8, __pyx_v_additional_carryover}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_22 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_6, __pyx_v_wyt); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_additional_carryover); __Pyx_GIVEREF(__pyx_v_additional_carryover); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_6, __pyx_v_additional_carryover); __pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_22, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2906: flow_type = "recovery"
__Pyx_INCREF(__pyx_n_u_recovery);
__pyx_v_flow_type = __pyx_n_u_recovery;
2907: #initialize the recover variables at the bank
+2908: for w in self.waterbank_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_1 = __pyx_t_26; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2908, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2908, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2908, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2908, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2909: for xx in w.participant_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_27 = __pyx_t_26; __Pyx_INCREF(__pyx_t_27); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2909, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2909, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2909, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2909, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2910: w.recovery_use[xx] = 0.0#how much of the recovery capacity was used by the account holder
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recovery_use); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_v_xx, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2911: #same but for 'in leiu' banks
+2912: for w in self.leiu_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_27 = __pyx_t_1; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_12 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2912, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2912, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2912, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_27); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2912, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2913: w.tot_leiu_recovery_use = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_tot_leiu_recovery_use, __pyx_float_0_0) < 0) __PYX_ERR(0, 2913, __pyx_L1_error)
+2914: for xx in w.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_26 = __pyx_t_1; __Pyx_INCREF(__pyx_t_26); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_14 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2914, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2914, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2914, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_26); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2914, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2915: w.recovery_use[xx] = 0.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recovery_use); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2915, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2916: w.bank_deliveries[xx] = 0.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_bank_deliveries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_float_0_0) < 0)) __PYX_ERR(0, 2916, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2917:
2918: #recover banked groundwater
2919: #only looking at GW exchanges for a few contracts
+2920: if self.metropolitan.use_recovery > 0.0:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_use_recovery); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyObject_RichCompare(__pyx_t_26, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { /* … */ }
+2921: exchanger_list = [self.kerntulare, self.pixley, self.lowertule]
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerntulare); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pixley); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_lowertule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = PyList_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_22, 0, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_26); PyList_SET_ITEM(__pyx_t_22, 1, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_22, 2, __pyx_t_1); __pyx_t_27 = 0; __pyx_t_26 = 0; __pyx_t_1 = 0; __pyx_v_exchanger_list = ((PyObject*)__pyx_t_22); __pyx_t_22 = 0;
+2922: exchange_max = min(self.arvin.inleiubanked['MET'], self.metropolitan.dailydemand_start['SOC']*self.metropolitan.use_recovery)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_dailydemand_start); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_SOC); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_use_recovery); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_22, __pyx_t_26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arvin); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_MET); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_27 = PyObject_RichCompare(__pyx_t_1, __pyx_t_26, Py_LT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2922, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2922, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_26); __pyx_t_22 = __pyx_t_26; } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_22; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_exchange_max = __pyx_t_1; __pyx_t_1 = 0;
+2923: exchange_request = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_exchange_request = __pyx_float_0_0;
+2924: for exc_cvc in exchanger_list:
__pyx_t_1 = __pyx_v_exchanger_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2924, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_XDECREF_SET(__pyx_v_exc_cvc, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2925: exchange_request += max(exc_cvc.projected_supply['cvc'], 0.0)
__pyx_t_19 = 0.0;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_cvc, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_cvc); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_27 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_27, __pyx_t_26, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_3) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_22 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_26);
__pyx_t_22 = __pyx_t_26;
}
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = PyNumber_InPlaceAdd(__pyx_v_exchange_request, __pyx_t_22); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2925, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF_SET(__pyx_v_exchange_request, __pyx_t_26);
__pyx_t_26 = 0;
+2926: if exchange_request > 0.0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_exchange_request, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2926, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2926, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+2927: delivered_exchange = min(exchange_max, exchange_request)
__Pyx_INCREF(__pyx_v_exchange_request); __pyx_t_1 = __pyx_v_exchange_request; __Pyx_INCREF(__pyx_v_exchange_max); __pyx_t_26 = __pyx_v_exchange_max; __pyx_t_8 = PyObject_RichCompare(__pyx_t_1, __pyx_t_26, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2927, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2927, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_1); __pyx_t_22 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_26); __pyx_t_22 = __pyx_t_26; } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_22; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_delivered_exchange = __pyx_t_1; __pyx_t_1 = 0;
+2928: self.arvin.inleiubanked['MET'] -= delivered_exchange
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arvin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_n_u_MET); __pyx_t_28 = __pyx_n_u_MET; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_t_28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = PyNumber_InPlaceSubtract(__pyx_t_1, __pyx_v_delivered_exchange); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2928, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_t_28, __pyx_t_26) < 0)) __PYX_ERR(0, 2928, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+2929: self.metropolitan.paper_balance['SOC']['cvc'] += delivered_exchange
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_n_u_SOC); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_INCREF(__pyx_n_u_cvc); __pyx_t_28 = __pyx_n_u_cvc; __pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_t_28); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_26, __pyx_v_delivered_exchange); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_t_28, __pyx_t_1) < 0)) __PYX_ERR(0, 2929, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
2930:
+2931: for exc_cvc in exchanger_list:
__pyx_t_22 = __pyx_v_exchanger_list; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2931, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_exc_cvc, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+2932: ind_exchange = delivered_exchange * max(exc_cvc.projected_supply['cvc'], 0.0)/exchange_request
__pyx_t_19 = 0.0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_cvc, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_cvc); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_27 = PyObject_RichCompare(__pyx_t_8, __pyx_t_26, Py_GT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
if (__pyx_t_3) {
__pyx_t_27 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_1 = __pyx_t_27;
__pyx_t_27 = 0;
} else {
__Pyx_INCREF(__pyx_t_26);
__pyx_t_1 = __pyx_t_26;
}
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = PyNumber_Multiply(__pyx_v_delivered_exchange, __pyx_t_1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_26, __pyx_v_exchange_request); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2932, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_XDECREF_SET(__pyx_v_ind_exchange, __pyx_t_1);
__pyx_t_1 = 0;
+2933: self.arvin.inleiubanked[exc_cvc.key] += ind_exchange
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arvin); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_cvc, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_27, __pyx_v_ind_exchange); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_1, __pyx_t_8) < 0)) __PYX_ERR(0, 2933, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2934: exc_cvc.paper_balance['cvc'] -= ind_exchange
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_exc_cvc, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_INCREF(__pyx_n_u_cvc); __pyx_t_28 = __pyx_n_u_cvc; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_t_28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_t_1, __pyx_v_ind_exchange); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2934, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_28, __pyx_t_8) < 0)) __PYX_ERR(0, 2934, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2935:
+2936: self.canal_contract['caa'] = [self.swpdelta]#only want to 'paper' exchange swp contracts
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_26 = PyList_New(1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_26, 0, __pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_n_u_caa, __pyx_t_26) < 0)) __PYX_ERR(0, 2936, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2937: for z in [self.calaqueduct, self.fkc, self.kernriverchannel]:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_8); __pyx_t_26 = 0; __pyx_t_22 = 0; __pyx_t_8 = 0; __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (__pyx_t_9 >= 3) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2937, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2938: for reservoir_recovery in self.canal_reservoir[z.name]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_reservoir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_22); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_22 = __pyx_t_26; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_12 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2938, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2938, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2938, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2938, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_reservoir_recovery, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+2939: if reservoir_recovery.min_daily_uncontrolled < reservoir_recovery.flood_flow_min or reservoir_recovery.fcr > 0.0:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir_recovery, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir_recovery, __pyx_n_s_flood_flow_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = PyObject_RichCompare(__pyx_t_26, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L163_bool_binop_done; } __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir_recovery, __pyx_n_s_fcr); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_1 = PyObject_RichCompare(__pyx_t_27, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 2939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L163_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+2940: for y in self.canal_contract[z.name]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_27 = __pyx_t_26; __Pyx_INCREF(__pyx_t_27); __pyx_t_15 = 0; __pyx_t_14 = NULL; } else { __pyx_t_15 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2940, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2940, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 2940, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2940, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2941: exchange_contract = y.name
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_XDECREF_SET(__pyx_v_exchange_contract, __pyx_t_26); __pyx_t_26 = 0;
+2942: delivery_key = exchange_contract + "_banked"
__pyx_t_26 = PyNumber_Add(__pyx_v_exchange_contract, __pyx_n_u_banked_2); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_XDECREF_SET(__pyx_v_delivery_key, __pyx_t_26); __pyx_t_26 = 0;
+2943: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_26 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2944: canal_size = self.canal_district_len[z.name]
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_4); __pyx_t_4 = 0;
+2945: total_canal_demand = self.search_canal_demand(dowy,z, "none", z.name, 'normal', flow_type, wateryear, 'recovery', {})
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_dowy, __pyx_v_z, __pyx_n_u_none, __pyx_t_26, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_recovery, __pyx_t_5}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_dowy, __pyx_v_z, __pyx_n_u_none, __pyx_t_26, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_recovery, __pyx_t_5}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_21 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_v_z); __Pyx_INCREF(__pyx_n_u_none); __Pyx_GIVEREF(__pyx_n_u_none); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_6, __pyx_n_u_none); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_6, __pyx_t_26); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_21, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_recovery); __Pyx_GIVEREF(__pyx_n_u_recovery); PyTuple_SET_ITEM(__pyx_t_21, 7+__pyx_t_6, __pyx_n_u_recovery); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_21, 8+__pyx_t_6, __pyx_t_5); __pyx_t_26 = 0; __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_21, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_4); __pyx_t_4 = 0;
+2946: self.set_canal_direction(flow_type)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_27 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_1, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2947: self.canal_contract['caa'] = [self.swpdelta, self.cvpdelta, self.cvpexchange, self.crossvalley]#reset california aqueduct contracts to be all san luis contracts
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_27); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_t_4); __pyx_t_8 = 0; __pyx_t_22 = 0; __pyx_t_27 = 0; __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_n_u_caa, __pyx_t_1) < 0)) __PYX_ERR(0, 2947, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2948:
2949: #if self.xvc.locked == 1 and self.calaqueduct.flow_directions['recharge']['xvc'] == 'reverse':
+2950: total_current_balance = max(self.buenavista.current_balance['kern'], 0.0)
__pyx_t_19 = 0.0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_current_balance); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_kern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_27 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = PyObject_RichCompare(__pyx_t_27, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { __pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __pyx_t_22; __pyx_t_22 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_total_current_balance = __pyx_t_1; __pyx_t_1 = 0;
+2951: total_projected_supply = max(self.buenavista.projected_supply['kern'], 0.0)
__pyx_t_19 = 0.0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_kern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = PyObject_RichCompare(__pyx_t_22, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { __pyx_t_27 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __pyx_t_27; __pyx_t_27 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_total_projected_supply = __pyx_t_1; __pyx_t_1 = 0;
2952: #conservative_estimate = max(min((dowy- 211.0)/(273.0 - 211.0), 1.0), 0.0)
+2953: conservative_estimate = 1.0
__pyx_v_conservative_estimate = 1.0;
+2954: available_exchange_kern = max(min(conservative_estimate*total_projected_supply,total_current_balance), 0.0)
__pyx_t_19 = 0.0; __Pyx_INCREF(__pyx_v_total_current_balance); __pyx_t_1 = __pyx_v_total_current_balance; __pyx_t_4 = PyFloat_FromDouble(__pyx_v_conservative_estimate); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = PyNumber_Multiply(__pyx_t_4, __pyx_v_total_projected_supply); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_22 = PyObject_RichCompare(__pyx_t_1, __pyx_t_27, Py_LT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2954, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_27); __pyx_t_4 = __pyx_t_27; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = __pyx_t_4; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_27 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = PyObject_RichCompare(__pyx_t_27, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { __pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __pyx_t_22; __pyx_t_22 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_available_exchange_kern = __pyx_t_1; __pyx_t_1 = 0;
+2955: requester_list = [self.cawelo, self.ID4, self.rosedale]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cawelo); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ID4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = PyList_New(3); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_27, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_4); PyList_SET_ITEM(__pyx_t_27, 1, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_27, 2, __pyx_t_22); __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_22 = 0; __pyx_v_requester_list = ((PyObject*)__pyx_t_27); __pyx_t_27 = 0;
+2956: total_request = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_request = __pyx_float_0_0;
+2957: for requester in requester_list:
__pyx_t_27 = __pyx_v_requester_list; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2957, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_XDECREF_SET(__pyx_v_requester, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2958: total_request += max(min(requester.dailydemand_start[0] + requester.recharge_carryover[y.name], requester.dailydemand[0] + requester.recharge_carryover[y.name], requester.current_balance['tableA'], requester.projected_supply['tableA']),0.0)
__pyx_t_19 = 0.0;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_4 = __Pyx_GetItemInt(__pyx_t_22, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_recharge_carryover); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Add(__pyx_t_4, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_current_balance); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_tableA); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_tableA); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_dailydemand_start); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_21 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_recharge_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = PyNumber_Add(__pyx_t_21, __pyx_t_26); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_21 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2958, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_26 = __pyx_t_1;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_26 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_INCREF(__pyx_t_26);
__pyx_t_5 = __pyx_t_26;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_21 = PyObject_RichCompare(__pyx_t_4, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2958, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_4);
__pyx_t_26 = __pyx_t_4;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_26 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_INCREF(__pyx_t_26);
__pyx_t_5 = __pyx_t_26;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_21 = PyObject_RichCompare(__pyx_t_22, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_21); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2958, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_21); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_26 = __pyx_t_22;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_26 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_INCREF(__pyx_t_26);
__pyx_t_1 = __pyx_t_26;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_4 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_22 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
if (__pyx_t_3) {
__pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_26 = __pyx_t_22;
__pyx_t_22 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_26 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_total_request, __pyx_t_26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2958, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_DECREF_SET(__pyx_v_total_request, __pyx_t_1);
__pyx_t_1 = 0;
+2959: if available_exchange_kern > 0.0:
__pyx_t_27 = PyObject_RichCompare(__pyx_v_available_exchange_kern, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2959, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L169; }
+2960: request_fraction = min(available_exchange_kern/total_request, 1.0)
__pyx_t_19 = 1.0;
__pyx_t_27 = __Pyx_PyNumber_Divide(__pyx_v_available_exchange_kern, __pyx_v_total_request); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_26 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__pyx_t_22 = PyObject_RichCompare(__pyx_t_26, __pyx_t_27, Py_LT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2960, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2960, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
if (__pyx_t_3) {
__pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_1 = __pyx_t_22;
__pyx_t_22 = 0;
} else {
__Pyx_INCREF(__pyx_t_27);
__pyx_t_1 = __pyx_t_27;
}
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_27 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_request_fraction = __pyx_t_27;
__pyx_t_27 = 0;
2961: else:
+2962: request_fraction = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_request_fraction = __pyx_float_0_0;
}
__pyx_L169:;
+2963: for requester in requester_list:
__pyx_t_27 = __pyx_v_requester_list; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2963, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_requester, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+2964: exchanged_value = request_fraction * max(min(requester.dailydemand_start[0] + requester.recharge_carryover[y.name], requester.dailydemand[0] + requester.recharge_carryover[y.name], requester.current_balance['tableA'], requester.projected_supply['tableA']),0.0)
__pyx_t_19 = 0.0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_22 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_recharge_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_26); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = PyNumber_Add(__pyx_t_22, __pyx_t_4); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_current_balance); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_tableA); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_tableA); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_dailydemand_start); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_recharge_carryover); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = PyNumber_Add(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_5 = PyObject_RichCompare(__pyx_t_26, __pyx_t_21, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2964, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_26);
__pyx_t_8 = __pyx_t_26;
} else {
__Pyx_INCREF(__pyx_t_21);
__pyx_t_8 = __pyx_t_21;
}
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_INCREF(__pyx_t_8);
__pyx_t_21 = __pyx_t_8;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_5 = PyObject_RichCompare(__pyx_t_22, __pyx_t_21, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2964, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_8 = __pyx_t_22;
} else {
__Pyx_INCREF(__pyx_t_21);
__pyx_t_8 = __pyx_t_21;
}
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_INCREF(__pyx_t_8);
__pyx_t_21 = __pyx_t_8;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_21, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2964, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_8 = __pyx_t_1;
} else {
__Pyx_INCREF(__pyx_t_21);
__pyx_t_8 = __pyx_t_21;
}
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_INCREF(__pyx_t_8);
__pyx_t_26 = __pyx_t_8;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_22 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_22, __pyx_t_26, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_26);
__pyx_t_8 = __pyx_t_26;
}
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = PyNumber_Multiply(__pyx_v_request_fraction, __pyx_t_8); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2964, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF_SET(__pyx_v_exchanged_value, __pyx_t_26);
__pyx_t_26 = 0;
+2965: requester.paper_balance['kern'] += exchanged_value
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_INCREF(__pyx_n_u_kern); __pyx_t_28 = __pyx_n_u_kern; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_t_28); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_v_exchanged_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_28, __pyx_t_1) < 0)) __PYX_ERR(0, 2965, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2966: requester.paper_balance['tableA'] -= exchanged_value
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_INCREF(__pyx_n_u_tableA); __pyx_t_28 = __pyx_n_u_tableA; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_t_28); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_t_1, __pyx_v_exchanged_value); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_28, __pyx_t_8) < 0)) __PYX_ERR(0, 2966, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2967: self.buenavista.paper_balance['kern'] -= exchanged_value
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_INCREF(__pyx_n_u_kern); __pyx_t_28 = __pyx_n_u_kern; __pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_t_28); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = PyNumber_InPlaceSubtract(__pyx_t_26, __pyx_v_exchanged_value); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_28, __pyx_t_1) < 0)) __PYX_ERR(0, 2967, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2968: self.buenavista.paper_balance['tableA'] += exchanged_value
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_n_u_tableA); __pyx_t_28 = __pyx_n_u_tableA; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_t_28); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_26 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_v_exchanged_value); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_28, __pyx_t_26) < 0)) __PYX_ERR(0, 2968, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+2969: for y in [self.kernriver, self.swpdelta]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_26); __pyx_t_1 = 0; __pyx_t_26 = 0; __pyx_t_26 = __pyx_t_8; __Pyx_INCREF(__pyx_t_26); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (__pyx_t_13 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2969, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+2970: next_year_carryover, this_year_carryover = requester.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear, __pyx_t_21, __pyx_t_5, __pyx_t_4, __pyx_t_22, __pyx_t_25, __pyx_t_2}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear, __pyx_t_21, __pyx_t_5, __pyx_t_4, __pyx_t_22, __pyx_t_25, __pyx_t_2}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_23 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_6, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_22 = 0; __pyx_t_25 = 0; __pyx_t_2 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_23, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2970, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_23 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_23 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_23); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L174_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_23 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_23)) goto __pyx_L174_unpacking_failed; __Pyx_GOTREF(__pyx_t_23); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_2), 2) < 0) __PYX_ERR(0, 2970, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L175_unpacking_done; __pyx_L174_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2970, __pyx_L1_error) __pyx_L175_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_23); __pyx_t_23 = 0;
+2971: next_year_carryover, this_year_carryover = self.buenavista.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_23, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_t); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_21 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_21, __pyx_v_t, __pyx_v_wateryear, __pyx_t_2, __pyx_t_25, __pyx_t_22, __pyx_t_23, __pyx_t_4, __pyx_t_5}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_21, __pyx_v_t, __pyx_v_wateryear, __pyx_t_2, __pyx_t_25, __pyx_t_22, __pyx_t_23, __pyx_t_4, __pyx_t_5}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_7 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_21); __pyx_t_21 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_6, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2971, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_7 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_1)) goto __pyx_L176_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_7 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_7)) goto __pyx_L176_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_5), 2) < 0) __PYX_ERR(0, 2971, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L177_unpacking_done; __pyx_L176_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2971, __pyx_L1_error) __pyx_L177_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_next_year_carryover, __pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_this_year_carryover, __pyx_t_7); __pyx_t_7 = 0;
2972:
2973:
+2974: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+2975: for z in self.reservoir_canal[self.millerton.key]:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_8); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_8 = __pyx_t_26; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_12 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 2975, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2975, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 2975, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_12(__pyx_t_8); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2975, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+2976: self.set_canal_direction(flow_type)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); } } __pyx_t_26 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_27, __pyx_t_7, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_27, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
2977:
+2978: canal_size = self.canal_district_len[z.name]
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_27); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_7); __pyx_t_7 = 0;
+2979: total_canal_demand = self.search_canal_demand(dowy, z, self.millerton.key, z.name, 'normal', flow_type, wateryear,'delivery', {})
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_26, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_5}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_27)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_26, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_5}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_27, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_23 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_26); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_6, __pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_23, 8+__pyx_t_6, __pyx_t_5); __pyx_t_1 = 0; __pyx_t_26 = 0; __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_27, __pyx_t_23, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_7); __pyx_t_7 = 0;
+2980: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_available_flow, __pyx_float_0_0);
+2981: for zz in total_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_total_canal_demand)) || PyTuple_CheckExact(__pyx_v_total_canal_demand)) { __pyx_t_7 = __pyx_v_total_canal_demand; __Pyx_INCREF(__pyx_t_7); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_total_canal_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 2981, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2981, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 2981, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 2981, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+2982: available_flow += total_canal_demand[zz]
__pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_v_total_canal_demand, __pyx_v_zz); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_23); __pyx_t_23 = 0;
+2983: excess_water, unmet_demand = self.distribute_canal_deliveries(dowy, z, self.millerton.key, z.name, available_flow, canal_size, wateryear, 'normal', flow_type, 'delivery')
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_27, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[11] = {__pyx_t_26, __pyx_v_dowy, __pyx_v_z, __pyx_t_5, __pyx_t_27, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[11] = {__pyx_t_26, __pyx_v_dowy, __pyx_v_z, __pyx_t_5, __pyx_t_27, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif { __pyx_t_1 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_26) { __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_26); __pyx_t_26 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_6, __pyx_t_27); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_6, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_6, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_1, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_1, 7+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_1, 8+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_1, 9+__pyx_t_6, __pyx_n_u_delivery); __pyx_t_5 = 0; __pyx_t_27 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_1, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 2983, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_23 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_23 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(__pyx_t_1); #else __pyx_t_23 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_27)->tp_iternext; index = 0; __pyx_t_23 = __pyx_t_10(__pyx_t_27); if (unlikely(!__pyx_t_23)) goto __pyx_L182_unpacking_failed; __Pyx_GOTREF(__pyx_t_23); index = 1; __pyx_t_1 = __pyx_t_10(__pyx_t_27); if (unlikely(!__pyx_t_1)) goto __pyx_L182_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_27), 2) < 0) __PYX_ERR(0, 2983, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; goto __pyx_L183_unpacking_done; __pyx_L182_unpacking_failed:; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 2983, __pyx_L1_error) __pyx_L183_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_water, __pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demand, __pyx_t_1); __pyx_t_1 = 0;
2984:
2985: #total_canal_demand = self.find_contract_demand(t, dowy, wateryear, z, a.key, z.name, 'normal',flow_type)
2986: #excess_water, unmet_demand = self.deliver_contracts(t, dowy, z, a.key, z.name, total_canal_demand, canal_size, wateryear, 'normal',flow_type)
+2987: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_7 = (__pyx_t_23) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_23, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
2988:
2989: ##Flood Deliveries - 4 flood sources - Millerton, Isabella, Success, and Kaweah
2990: ##What is the priority for reservoirs getting to use the canals to route flood releases?
2991: ##Note: most of the contracts have provisions that flood flows 'cannot displace' scheduled
2992: ##deliveries (i.e. you can't use flood releases to fill demand that would be met by your contract
2993: ##schedule), so might want to put this AFTER regular delivery routing
+2994: flood_order_list = [self.pineflat, self.success, self.kaweah, self.isabella]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_27 = PyList_New(4); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_27, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_27, 1, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_27, 2, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_23); PyList_SET_ITEM(__pyx_t_27, 3, __pyx_t_23); __pyx_t_8 = 0; __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_23 = 0; __pyx_v_flood_order_list = ((PyObject*)__pyx_t_27); __pyx_t_27 = 0;
2995: #toggle to enable flood releases to go to districts/banks that don't have a contract w/the reservoir
2996: #only san luis restricts flood releases to contractors only (b/c otherwise they just dont pump)
+2997: overflow_deliveries = 1
__pyx_v_overflow_deliveries = 1;
+2998: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+2999: self.set_canal_direction(flow_type)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 2999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); } } __pyx_t_27 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_23, __pyx_t_1, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 2999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3000: for a in flood_order_list:
__pyx_t_27 = __pyx_v_flood_order_list; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3000, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3001: #if flow is already on a bi-directional canal, it becomes closed to canals going the other direction
3002: #checks the calaqueduct turnout to xvc is used, if not, xvc is open to fkc and kern river
+3003: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_23 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3004: #release flood flows to canals
+3005: self.flood_operations(t, m, dowy, wateryear, a, flow_type, overflow_deliveries, wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flood_operations); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_v_overflow_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_8, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_a, __pyx_v_flow_type, __pyx_t_7, __pyx_v_wyt}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_8, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_a, __pyx_v_flow_type, __pyx_t_7, __pyx_v_wyt}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_5 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_a); __Pyx_GIVEREF(__pyx_v_a); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_6, __pyx_v_a); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 6+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_5, 7+__pyx_t_6, __pyx_v_wyt); __pyx_t_7 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3006: #for canal in self.reservoir_canal[a.key]:
3007: #for cnt in self.canal_contract[canal.name]:
3008: #for socal_cont in [self.metropolitan, self.castaic, self.coachella]:
3009: #if cnt.name + '_flood' in socal_cont.deliveries['SOC']:
3010: #if socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear] > 0.0:
3011: #socal_cont.deliveries['SOC']['tableA'][wateryear] += socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear]
3012: #self.pumping_turnback['SLS'] -= socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear]
3013: #socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear] = 0.0
3014: #for socal_cont in [self.socal,]:
3015: #if cnt.name + '_flood' in socal_cont.deliveries:
3016: #if socal_cont.deliveries[cnt.name + '_flood'][wateryear] > 0.0:
3017: #socal_cont.deliveries['tableA'][wateryear] += socal_cont.deliveries[cnt.name + '_flood'][wateryear]
3018: #self.pumping_turnback['SLS'] -= socal_cont.deliveries[cnt.name + '_flood'][wateryear]
3019: #socal_cont.deliveries[cnt.name + '_flood'][wateryear] = 0.0
3020:
+3021: self.set_canal_direction(flow_type)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); } } __pyx_t_27 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_23, __pyx_t_1, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3022:
3023: ##Direct deliveries from surface water sources
+3024: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3025: for a in [self.pineflat, self.success, self.kaweah, self.isabella]:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyTuple_New(4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_5); __pyx_t_27 = 0; __pyx_t_23 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_7; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (__pyx_t_9 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3025, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3025, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3026: for z in self.reservoir_canal[a.key]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_1 = __pyx_t_23; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_12 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3026, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3026, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3026, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3026, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3027: self.set_canal_direction(flow_type)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_23 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3028:
+3029: canal_size = self.canal_district_len[z.name]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_27); __pyx_t_27 = 0;
+3030: total_canal_demand = self.search_canal_demand(dowy, z, a.key, z.name, 'normal', flow_type, wateryear,'delivery', {})
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_26 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_23, __pyx_t_8, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_26}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_23, __pyx_t_8, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_26}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif { __pyx_t_22 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_22, 7+__pyx_t_6, __pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_22, 8+__pyx_t_6, __pyx_t_26); __pyx_t_23 = 0; __pyx_t_8 = 0; __pyx_t_26 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_22, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_27); __pyx_t_27 = 0;
+3031: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_available_flow, __pyx_float_0_0);
+3032: for zz in total_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_total_canal_demand)) || PyTuple_CheckExact(__pyx_v_total_canal_demand)) { __pyx_t_27 = __pyx_v_total_canal_demand; __Pyx_INCREF(__pyx_t_27); __pyx_t_15 = 0; __pyx_t_14 = NULL; } else { __pyx_t_15 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_v_total_canal_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3032, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3032, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_7); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3032, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3032, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3033: available_flow += total_canal_demand[zz]
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_total_canal_demand, __pyx_v_zz); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_22); __pyx_t_22 = 0;
+3034: excess_water, unmet_demand = self.distribute_canal_deliveries(dowy, z, a.key, z.name, available_flow, canal_size, wateryear, 'normal', flow_type, 'delivery')
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[11] = {__pyx_t_8, __pyx_v_dowy, __pyx_v_z, __pyx_t_7, __pyx_t_26, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[11] = {__pyx_t_8, __pyx_v_dowy, __pyx_v_z, __pyx_t_7, __pyx_t_26, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif { __pyx_t_23 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_26); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_6, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_23, 8+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_23, 9+__pyx_t_6, __pyx_n_u_delivery); __pyx_t_7 = 0; __pyx_t_26 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_23, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_27))) || (PyList_CheckExact(__pyx_t_27))) { PyObject* sequence = __pyx_t_27; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3034, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_22 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_23 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_22 = PyList_GET_ITEM(sequence, 0); __pyx_t_23 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_23); #else __pyx_t_22 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else { Py_ssize_t index = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_26)->tp_iternext; index = 0; __pyx_t_22 = __pyx_t_10(__pyx_t_26); if (unlikely(!__pyx_t_22)) goto __pyx_L192_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); index = 1; __pyx_t_23 = __pyx_t_10(__pyx_t_26); if (unlikely(!__pyx_t_23)) goto __pyx_L192_unpacking_failed; __Pyx_GOTREF(__pyx_t_23); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_26), 2) < 0) __PYX_ERR(0, 3034, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; goto __pyx_L193_unpacking_done; __pyx_L192_unpacking_failed:; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3034, __pyx_L1_error) __pyx_L193_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_water, __pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demand, __pyx_t_23); __pyx_t_23 = 0;
3035:
3036: #total_canal_demand = self.find_contract_demand(t, dowy, wateryear, z, a.key, z.name, 'normal',flow_type)
3037: #excess_water, unmet_demand = self.deliver_contracts(t, dowy, z, a.key, z.name, total_canal_demand, canal_size, wateryear, 'normal',flow_type)
3038:
+3039: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_5 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3040: for x in self.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3040, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3040, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3040, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3040, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3041: x.demand_days = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_demand_days, __pyx_t_5) < 0) __PYX_ERR(0, 3041, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3042: x.demand_days['current'] = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (unlikely(PyObject_SetItem(__pyx_t_27, __pyx_n_u_current, __pyx_t_5) < 0)) __PYX_ERR(0, 3042, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3043: x.demand_days['lookahead'] = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (unlikely(PyObject_SetItem(__pyx_t_27, __pyx_n_u_lookahead, __pyx_t_5) < 0)) __PYX_ERR(0, 3043, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3044: for y in self.contract_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_27 = __pyx_t_5; __Pyx_INCREF(__pyx_t_27); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3044, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3044, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3044, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3044, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3045: x.demand_days['current'][y.name] = 0.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_current); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_5, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3045, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3046: x.demand_days['lookahead'][y.name] = 0.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_5, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3046, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3047:
+3048: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_27 = __pyx_t_1; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_12 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3048, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3048, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3048, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_27); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3048, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3049: x.demand_days = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_demand_days, __pyx_t_1) < 0) __PYX_ERR(0, 3049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3050: x.demand_days['current'] = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_current, __pyx_t_1) < 0)) __PYX_ERR(0, 3050, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3051: x.demand_days['lookahead'] = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_lookahead, __pyx_t_1) < 0)) __PYX_ERR(0, 3051, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3052: for y in self.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3052, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3052, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3052, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3052, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3053: x.demand_days['current'][y.name] = 0.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_current); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_1, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3053, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3054: x.demand_days['lookahead'][y.name] = 0.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_1, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3055:
+3056: for x in self.private_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_5 = __pyx_t_27; __Pyx_INCREF(__pyx_t_5); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3056, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_27); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3056, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_9); __Pyx_INCREF(__pyx_t_27); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3056, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_5, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3056, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3057: x.demand_days = {}
__pyx_t_27 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_demand_days, __pyx_t_27) < 0) __PYX_ERR(0, 3057, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3058: x.demand_days['current'] = {}
__pyx_t_27 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_current, __pyx_t_27) < 0)) __PYX_ERR(0, 3058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3059: x.demand_days['lookahead'] = {}
__pyx_t_27 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_lookahead, __pyx_t_27) < 0)) __PYX_ERR(0, 3059, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3060: for y in self.contract_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_1 = __pyx_t_27; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3060, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3060, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3060, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3060, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3061: x.demand_days['current'][y.name] = 0.0
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_current); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_27, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3062: x.demand_days['lookahead'][y.name] = 0.0
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3062, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3062, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3062, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_27, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3062, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3063:
+3064: for y in self.contract_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3064, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3064, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3064, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3064, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3064, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3065: reservoir = self.contract_reservoir[y.key]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_23); __pyx_t_23 = 0;
+3066: numdays_fillup = reservoir.numdays_fillup['demand']
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_numdays_fillup, __pyx_t_27); __pyx_t_27 = 0;
+3067: if int(numdays_fillup) + dowy > 364:
__pyx_t_27 = __Pyx_PyNumber_Int(__pyx_v_numdays_fillup); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = PyNumber_Add(__pyx_t_27, __pyx_v_dowy); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyObject_RichCompare(__pyx_t_23, __pyx_int_364, Py_GT); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3067, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L208; }
+3068: demand_days = dowy + int(numdays_fillup) - 364
__pyx_t_27 = __Pyx_PyNumber_Int(__pyx_v_numdays_fillup); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = PyNumber_Add(__pyx_v_dowy, __pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyInt_SubtractObjC(__pyx_t_23, __pyx_int_364, 0x16C, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_days, __pyx_t_27); __pyx_t_27 = 0;
+3069: for x in self.urban_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urban_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_23 = __pyx_t_27; __Pyx_INCREF(__pyx_t_23); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3069, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3069, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3069, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3069, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_23); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3069, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3070: if y.type == 'contract':
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3070, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_27, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3070, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L211; }
+3071: total_contract = x.project_contract[y.name]
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_5); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3071, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_t_22); __pyx_t_22 = 0;
3072: else:
+3073: total_contract = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_float_0_0);
}
__pyx_L211:;
+3074: x.demand_days['lookahead'][y.name] = x.get_urban_recovery_target(t, dowy, wateryear, wyt, expected_pumping, total_contract, demand_days, 0)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_int_0}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_int_0}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif { __pyx_t_26 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_27) { __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_27); __pyx_t_27 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_26, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_26, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_26, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_26, 7+__pyx_t_6, __pyx_int_0); __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_26, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_5, __pyx_t_22) < 0)) __PYX_ERR(0, 3074, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3075:
3076: #x.demand_days['lookahead'][y.name] = np.sum(x.pumping[0][(t-dowy):(t+demand_days-dowy)])/1000.0
+3077: x.demand_days['current'][y.name] = x.get_urban_recovery_target(t, 0, wateryear, wyt, expected_pumping, total_contract, demand_days, m-1)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_26 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_t_26}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_t_26}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif { __pyx_t_7 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_27) { __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_27); __pyx_t_27 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_int_0); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_6, __pyx_t_26); __pyx_t_26 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_current); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_5, __pyx_t_22) < 0)) __PYX_ERR(0, 3077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3078:
+3079: for x in self.city_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_22 = __pyx_t_23; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3079, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3079, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3079, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3079, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3080: for xx in x.district_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_5 = __pyx_t_23; __Pyx_INCREF(__pyx_t_5); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3080, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_15); __Pyx_INCREF(__pyx_t_23); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3080, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_5, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_15); __Pyx_INCREF(__pyx_t_23); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3080, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_5, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3080, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_16(__pyx_t_5); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3080, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
3081: # district_object = self.district_keys[xx]
+3082: if y.type == 'contract':
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_23, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L216; }
+3083: total_contract = self.district_keys[xx].project_contract[y.name]
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3083, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_t_26); __pyx_t_26 = 0;
3084: else:
+3085: total_contract = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_float_0_0);
}
__pyx_L216:;
+3086: x.demand_days['lookahead'][y.name] += x.get_urban_recovery_target(t, dowy, wateryear, wyt, expected_pumping, total_contract, demand_days, xx, 0)
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_int_0}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_int_0}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); } else #endif { __pyx_t_25 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_25, 7+__pyx_t_6, __pyx_v_xx); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_25, 8+__pyx_t_6, __pyx_int_0); __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_25, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_23, __pyx_t_27); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_26, __pyx_t_8) < 0)) __PYX_ERR(0, 3086, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3087: x.demand_days['current'][y.name] += x.get_urban_recovery_target(t, 0, wateryear, wyt, expected_pumping, total_contract, demand_days, xx, m-1)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_current); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_t_25}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_t_25}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_2 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_int_0); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_2, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_2, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_2, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_2, 7+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 8+__pyx_t_6, __pyx_t_25); __pyx_t_25 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_2, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_7, __pyx_t_23) < 0)) __PYX_ERR(0, 3087, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
3088:
3089: else:
+3090: demand_days = int(numdays_fillup)
/*else*/ {
__pyx_t_22 = __Pyx_PyNumber_Int(__pyx_v_numdays_fillup); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3090, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_XDECREF_SET(__pyx_v_demand_days, __pyx_t_22);
__pyx_t_22 = 0;
+3091: if y.name == 'tableA':
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_22, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3091, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L217; }
+3092: lookahead_days = dowy + int(fill_up_cross_swp) - 364
__pyx_t_22 = __Pyx_PyNumber_Int(__pyx_v_fill_up_cross_swp); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = PyNumber_Add(__pyx_v_dowy, __pyx_t_22); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_364, 0x16C, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_22); __pyx_t_22 = 0;
+3093: elif y.name == 'cvpdelta' or y.name == 'exchange':
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_t_22, __pyx_n_u_cvpdelta, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L218_bool_binop_done; } __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_t_22, __pyx_n_u_exchange, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3093, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L218_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L217; }
+3094: lookahead_days = dowy + int(fill_up_cross_cvp) - 364
__pyx_t_22 = __Pyx_PyNumber_Int(__pyx_v_fill_up_cross_cvp); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = PyNumber_Add(__pyx_v_dowy, __pyx_t_22); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_364, 0x16C, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_22); __pyx_t_22 = 0;
3095: else:
+3096: lookahead_days = 0
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_int_0);
}
__pyx_L217:;
+3097: for x in self.urban_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urban_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_5 = __pyx_t_22; __Pyx_INCREF(__pyx_t_5); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3097, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3097, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3097, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_5, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_14(__pyx_t_5); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3097, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+3098: if y.type == 'contract':
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_22, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3098, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L222; }
+3099: total_contract = x.project_contract[y.name]
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_t_26); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_t_7); __pyx_t_7 = 0;
3100: else:
+3101: total_contract = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_float_0_0);
}
__pyx_L222:;
3102:
+3103: x.demand_days['current'][y.name] = x.get_urban_recovery_target(t, 0, wateryear, wyt, expected_pumping, total_contract, demand_days, m-1)
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_22 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_t_22}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_t_22}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_27 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_int_0); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_27, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_27, 7+__pyx_t_6, __pyx_t_22); __pyx_t_22 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_t_27, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_n_u_current); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (unlikely(PyObject_SetItem(__pyx_t_27, __pyx_t_26, __pyx_t_7) < 0)) __PYX_ERR(0, 3103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3104: x.demand_days['lookahead'][y.name]= x.get_urban_recovery_target(t, dowy, wateryear, wyt, expected_pumping, total_contract, lookahead_days, 0)
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_lookahead_days, __pyx_int_0}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_lookahead_days, __pyx_int_0}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_22 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_27) { __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_27); __pyx_t_27 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_v_lookahead_days); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_6, __pyx_v_lookahead_days); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_22, 7+__pyx_t_6, __pyx_int_0); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_t_22, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_26, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_t_26, __pyx_t_7) < 0)) __PYX_ERR(0, 3104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3105: for x in self.city_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3105, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3105, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3105, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_7); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3105, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __pyx_L208:;
+3106: for xx in x.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_26 = __pyx_t_5; __Pyx_INCREF(__pyx_t_26); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_16 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3106, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3106, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3106, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_16(__pyx_t_26); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3106, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
3107: # district_object = self.district_keys[xx]
+3108: if y.type == 'contract':
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_contract, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L227; }
+3109: total_contract = self.district_keys[xx].project_contract[y.name]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_22); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_t_27); __pyx_t_27 = 0;
3110: else:
+3111: total_contract = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_contract, __pyx_float_0_0);
}
__pyx_L227:;
+3112: x.demand_days['current'][y.name] += x.get_urban_recovery_target(t, 0, wateryear, wyt, expected_pumping, total_contract, demand_days, xx, m-1)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_current); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_t_27); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_t_2}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_t, __pyx_int_0, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_demand_days, __pyx_v_xx, __pyx_t_2}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_4 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_int_0); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_demand_days); __Pyx_GIVEREF(__pyx_v_demand_days); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_6, __pyx_v_demand_days); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 8+__pyx_t_6, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_23); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_t_27, __pyx_t_8) < 0)) __PYX_ERR(0, 3112, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3113: x.demand_days['lookahead'][y.name] += x.get_urban_recovery_target(t, dowy, wateryear, wyt, expected_pumping, total_contract, lookahead_days, xx, 0)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_demand_days); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_22); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_get_urban_recovery_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_lookahead_days, __pyx_v_xx, __pyx_int_0}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_23); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[10] = {__pyx_t_4, __pyx_v_t, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_wyt, __pyx_v_expected_pumping, __pyx_v_total_contract, __pyx_v_lookahead_days, __pyx_v_xx, __pyx_int_0}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_23); } else #endif { __pyx_t_2 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_6, __pyx_v_wyt); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_2, 4+__pyx_t_6, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_total_contract); __Pyx_GIVEREF(__pyx_v_total_contract); PyTuple_SET_ITEM(__pyx_t_2, 5+__pyx_t_6, __pyx_v_total_contract); __Pyx_INCREF(__pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_v_lookahead_days); PyTuple_SET_ITEM(__pyx_t_2, 6+__pyx_t_6, __pyx_v_lookahead_days); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_2, 7+__pyx_t_6, __pyx_v_xx); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 8+__pyx_t_6, __pyx_int_0); __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_t_27, __pyx_t_22, __pyx_t_5) < 0)) __PYX_ERR(0, 3113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3114:
3115:
3116: #Find district banking needs
+3117: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3117, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3117, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3117, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3117, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3118: for y in x.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_26 = __pyx_t_1; __Pyx_INCREF(__pyx_t_26); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_14 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3118, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3118, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3118, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_26, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_26); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3118, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
3119: # contract_object = self.contract_keys[y]
+3120: reservoir = self.contract_reservoir[self.contract_keys[y].key]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_key); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_27); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_22); __pyx_t_22 = 0;
+3121: if y == 'tableA':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3121, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L232; }
+3122: lookahead_days = fill_up_cross_swp
__Pyx_INCREF(__pyx_v_fill_up_cross_swp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_swp);
+3123: carryover_days = min(reservoir.numdays_fillup['demand'], 999.9)
__pyx_t_19 = 999.9;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_27, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_22 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_27);
__pyx_t_22 = __pyx_t_27;
}
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_27 = __pyx_t_22;
__Pyx_INCREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_XDECREF_SET(__pyx_v_carryover_days, __pyx_t_27);
__pyx_t_27 = 0;
+3124: elif y == 'cvpdelta' or y == 'exchange' or y == 'cvc':
__pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvpdelta, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3124, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L233_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_exchange, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3124, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L233_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvc, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3124, __pyx_L1_error) __pyx_t_3 = __pyx_t_11; __pyx_L233_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L232; }
+3125: lookahead_days = fill_up_cross_cvp
__Pyx_INCREF(__pyx_v_fill_up_cross_cvp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_cvp);
+3126: carryover_days = min(reservoir.numdays_fillup['demand'], 999.9)
__pyx_t_19 = 999.9;
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_demand); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_22, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3126, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_27 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_27 = __pyx_t_22;
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = __pyx_t_27;
__Pyx_INCREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__Pyx_XDECREF_SET(__pyx_v_carryover_days, __pyx_t_22);
__pyx_t_22 = 0;
+3127: elif y == 'kings':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_kings, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3127, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L232; }
+3128: lookahead_days = min(reservoir.numdays_fillup['lookahead'], max(365.0 - dowy, 0.0))
__pyx_t_19 = 0.0;
__pyx_t_22 = __Pyx_PyFloat_SubtractCObj(__pyx_float_365_0, __pyx_v_dowy, 365.0, 0, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_22, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_27 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_27 = __pyx_t_22;
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_INCREF(__pyx_t_27);
__pyx_t_22 = __pyx_t_27;
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_1 = PyObject_RichCompare(__pyx_t_22, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3128, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3128, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_27 = __pyx_t_22;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_27 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = __pyx_t_27;
__Pyx_INCREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_22);
__pyx_t_22 = 0;
+3129: carryover_days = min(reservoir.numdays_fillup['demand'], 999.9)
__pyx_t_19 = 999.9;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_5, __pyx_t_27, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3129, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_22 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_27);
__pyx_t_22 = __pyx_t_27;
}
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_27 = __pyx_t_22;
__Pyx_INCREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_XDECREF_SET(__pyx_v_carryover_days, __pyx_t_27);
__pyx_t_27 = 0;
3130: else:
+3131: lookahead_days = reservoir.numdays_fillup['lookahead']
/*else*/ {
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_27, __pyx_n_u_lookahead); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_22);
__pyx_t_22 = 0;
+3132: carryover_days = min(reservoir.numdays_fillup['demand'], 999.9)
__pyx_t_19 = 999.9;
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_27 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_27, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_3) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_19); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_22 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_27);
__pyx_t_22 = __pyx_t_27;
}
__Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
__pyx_t_27 = __pyx_t_22;
__Pyx_INCREF(__pyx_t_27);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_XDECREF_SET(__pyx_v_carryover_days, __pyx_t_27);
__pyx_t_27 = 0;
}
__pyx_L232:;
+3133: additional_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_additional_carryover, __pyx_float_0_0);
3134:
+3135: x.open_recharge(t,m-1,da,wateryear,year_index,self.days_in_month, carryover_days, lookahead_days, self.contract_keys[y].tot_carryover - self.contract_keys[y].annual_deliveries[wateryear], y, wyt, self.contract_turnouts[y], 0.0, self.contract_keys[y].allocation_priority)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recharge); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_annual_deliveries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_wateryear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Subtract(__pyx_t_23, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_y); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[15] = {__pyx_t_4, __pyx_v_t, __pyx_t_5, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_1, __pyx_v_carryover_days, __pyx_v_lookahead_days, __pyx_t_8, __pyx_v_y, __pyx_v_wyt, __pyx_t_23, __pyx_float_0_0, __pyx_t_2}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 14+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[15] = {__pyx_t_4, __pyx_v_t, __pyx_t_5, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_1, __pyx_v_carryover_days, __pyx_v_lookahead_days, __pyx_t_8, __pyx_v_y, __pyx_v_wyt, __pyx_t_23, __pyx_float_0_0, __pyx_t_2}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 14+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_25 = PyTuple_New(14+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_6, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_6, __pyx_t_5); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_v_carryover_days); __Pyx_GIVEREF(__pyx_v_carryover_days); PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_6, __pyx_v_carryover_days); __Pyx_INCREF(__pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_v_lookahead_days); PyTuple_SET_ITEM(__pyx_t_25, 7+__pyx_t_6, __pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_25, 8+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_25, 9+__pyx_t_6, __pyx_v_y); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_25, 10+__pyx_t_6, __pyx_v_wyt); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_25, 11+__pyx_t_6, __pyx_t_23); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_25, 12+__pyx_t_6, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_25, 13+__pyx_t_6, __pyx_t_2); __pyx_t_5 = 0; __pyx_t_1 = 0; __pyx_t_8 = 0; __pyx_t_23 = 0; __pyx_t_2 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_25, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3135, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3136:
+3137: for x in self.private_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_26 = __pyx_t_7; __Pyx_INCREF(__pyx_t_26); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_12 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3137, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3137, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3137, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_26, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_12(__pyx_t_26); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3137, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3138: for y in x.contract_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_27 = __pyx_t_7; __Pyx_INCREF(__pyx_t_27); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3138, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3138, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3138, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3138, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3138, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3139: # contract_object = self.contract_keys[y]
+3140: reservoir = self.contract_reservoir[self.contract_keys[y].key]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_y); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_key); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_25); __pyx_t_25 = 0;
+3141: if y == 'tableA':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3141, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L240; }
+3142: lookahead_days = fill_up_cross_swp
__Pyx_INCREF(__pyx_v_fill_up_cross_swp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_swp);
+3143: elif y == 'cvpdelta' or y == 'exchange' or y == 'cvc':
__pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvpdelta, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3143, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L241_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_exchange, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3143, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L241_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvc, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3143, __pyx_L1_error) __pyx_t_3 = __pyx_t_11; __pyx_L241_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L240; }
+3144: lookahead_days = fill_up_cross_cvp
__Pyx_INCREF(__pyx_v_fill_up_cross_cvp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_cvp);
3145: else:
+3146: lookahead_days = reservoir.numdays_fillup['demand']
/*else*/ {
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_25, __pyx_n_u_demand); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3146, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_22);
__pyx_t_22 = 0;
}
__pyx_L240:;
3147:
+3148: additional_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_additional_carryover, __pyx_float_0_0);
3149:
3150: #additional_carryover += x.contract_carryover_list[xx][y]
+3151: x.open_recharge(t,m-1,da,wateryear,year_index,self.days_in_month, reservoir.numdays_fillup['demand'], lookahead_days, y, wyt, self.contract_turnouts[y], additional_carryover, self.contract_keys[y].allocation_priority)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recharge); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_23, __pyx_n_u_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_y); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[14] = {__pyx_t_5, __pyx_v_t, __pyx_t_7, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_2, __pyx_t_8, __pyx_v_lookahead_days, __pyx_v_y, __pyx_v_wyt, __pyx_t_1, __pyx_v_additional_carryover, __pyx_t_23}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[14] = {__pyx_t_5, __pyx_v_t, __pyx_t_7, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_2, __pyx_t_8, __pyx_v_lookahead_days, __pyx_v_y, __pyx_v_wyt, __pyx_t_1, __pyx_v_additional_carryover, __pyx_t_23}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_4 = PyTuple_New(13+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_6, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_v_lookahead_days); PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_6, __pyx_v_lookahead_days); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_4, 8+__pyx_t_6, __pyx_v_y); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_4, 9+__pyx_t_6, __pyx_v_wyt); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 10+__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_v_additional_carryover); __Pyx_GIVEREF(__pyx_v_additional_carryover); PyTuple_SET_ITEM(__pyx_t_4, 11+__pyx_t_6, __pyx_v_additional_carryover); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_4, 12+__pyx_t_6, __pyx_t_23); __pyx_t_7 = 0; __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_23 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_4, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3151, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3152: for x in self.city_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_27 = __pyx_t_26; __Pyx_INCREF(__pyx_t_27); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_12 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3152, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3152, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_9); __Pyx_INCREF(__pyx_t_26); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3152, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_12(__pyx_t_27); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3152, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3153: for y in x.contract_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_22 = __pyx_t_26; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3153, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3153, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_26); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3153, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3153, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3154: # contract_object = self.contract_keys[y]
+3155: reservoir = self.contract_reservoir[self.contract_keys[y].key]
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_y); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_key); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_25); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_4); __pyx_t_4 = 0;
+3156: if y == 'tableA':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3156, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L248; }
+3157: lookahead_days = fill_up_cross_swp
__Pyx_INCREF(__pyx_v_fill_up_cross_swp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_swp);
+3158: elif y == 'cvpdelta' or y == 'exchange' or y == 'cvc':
__pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvpdelta, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3158, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L249_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_exchange, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3158, __pyx_L1_error) if (!__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L249_bool_binop_done; } __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_y, __pyx_n_u_cvc, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3158, __pyx_L1_error) __pyx_t_3 = __pyx_t_11; __pyx_L249_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L248; }
+3159: lookahead_days = fill_up_cross_cvp
__Pyx_INCREF(__pyx_v_fill_up_cross_cvp); __Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_v_fill_up_cross_cvp);
3160: else:
+3161: lookahead_days = reservoir.numdays_fillup['demand']
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_25 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_demand); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3161, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_lookahead_days, __pyx_t_25);
__pyx_t_25 = 0;
}
__pyx_L248:;
3162:
+3163: additional_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_additional_carryover, __pyx_float_0_0);
+3164: for xx in x.district_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_4 = __pyx_t_25; __Pyx_INCREF(__pyx_t_4); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3164, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3164, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3164, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_16(__pyx_t_4); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3164, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+3165: if t + lookahead_days < self.T:
__pyx_t_25 = PyNumber_Add(__pyx_v_t, __pyx_v_lookahead_days); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_23 = PyObject_RichCompare(__pyx_t_25, __pyx_t_26, Py_LT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3165, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L254; }
+3166: additional_carryover += np.sum(x.pumping[xx][(t+365-dowy): int(t+lookahead_days) ])/1000.0
__Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_np); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_sum); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_365, 0x16D, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = PyNumber_Subtract(__pyx_t_26, __pyx_v_dowy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyNumber_Add(__pyx_v_t, __pyx_v_lookahead_days); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_26); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_t_8, &__pyx_t_2, NULL, 0, 0, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_25))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); } } __pyx_t_23 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_25, __pyx_t_2, __pyx_t_26) : __Pyx_PyObject_CallOneArg(__pyx_t_25, __pyx_t_26); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_23, __pyx_float_1000_0, 1000.0, 0, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_additional_carryover, __pyx_t_25); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF_SET(__pyx_v_additional_carryover, __pyx_t_23); __pyx_t_23 = 0;
3167: else:
+3168: if lookahead_days > 365:
/*else*/ {
__pyx_t_23 = PyObject_RichCompare(__pyx_v_lookahead_days, __pyx_int_365, Py_GT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3168, __pyx_L1_error)
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3168, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (__pyx_t_3) {
/* … */
goto __pyx_L255;
}
+3169: additional_carryover= 999.9
__Pyx_INCREF(__pyx_float_999_9); __Pyx_DECREF_SET(__pyx_v_additional_carryover, __pyx_float_999_9);
3170: else:
+3171: additional_carryover += np.sum(x.pumping[xx][(t-dowy): int(t + lookahead_days - 365) ])/1000.0
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_25, __pyx_n_s_np); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_sum); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_pumping); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__pyx_t_25 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_8 = PyNumber_Add(__pyx_v_t, __pyx_v_lookahead_days); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_t_8, __pyx_int_365, 0x16D, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyNumber_Int(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_2, 0, 0, &__pyx_t_25, &__pyx_t_8, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_26))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_26);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_26, function);
}
}
__pyx_t_23 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_26, __pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_26, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__pyx_t_26 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_23, __pyx_float_1000_0, 1000.0, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_26);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = PyNumber_InPlaceAdd(__pyx_v_additional_carryover, __pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3171, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
__Pyx_DECREF_SET(__pyx_v_additional_carryover, __pyx_t_23);
__pyx_t_23 = 0;
}
__pyx_L255:;
}
__pyx_L254:;
3172:
+3173: x.open_recharge(t, m-1, da, wateryear, year_index, self.days_in_month, reservoir.numdays_fillup['demand'], lookahead_days, y, wyt, self.contract_turnouts[y], 0.0, self.contract_keys[y].allocation_priority)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_open_recharge); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_26 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_numdays_fillup); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_25 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_demand); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_turnouts); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_allocation_priority); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[14] = {__pyx_t_7, __pyx_v_t, __pyx_t_26, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_1, __pyx_t_25, __pyx_v_lookahead_days, __pyx_v_y, __pyx_v_wyt, __pyx_t_2, __pyx_float_0_0, __pyx_t_8}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[14] = {__pyx_t_7, __pyx_v_t, __pyx_t_26, __pyx_v_da, __pyx_v_wateryear, __pyx_v_year_index, __pyx_t_1, __pyx_t_25, __pyx_v_lookahead_days, __pyx_v_y, __pyx_v_wyt, __pyx_t_2, __pyx_float_0_0, __pyx_t_8}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_5 = PyTuple_New(13+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_t_26); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_year_index); __Pyx_GIVEREF(__pyx_v_year_index); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_6, __pyx_v_year_index); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_5, 6+__pyx_t_6, __pyx_t_25); __Pyx_INCREF(__pyx_v_lookahead_days); __Pyx_GIVEREF(__pyx_v_lookahead_days); PyTuple_SET_ITEM(__pyx_t_5, 7+__pyx_t_6, __pyx_v_lookahead_days); __Pyx_INCREF(__pyx_v_y); __Pyx_GIVEREF(__pyx_v_y); PyTuple_SET_ITEM(__pyx_t_5, 8+__pyx_t_6, __pyx_v_y); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_5, 9+__pyx_t_6, __pyx_v_wyt); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 10+__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_5, 11+__pyx_t_6, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 12+__pyx_t_6, __pyx_t_8); __pyx_t_26 = 0; __pyx_t_1 = 0; __pyx_t_25 = 0; __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3174:
3175: ##Deliveries for banking
+3176: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3177: for a in [self.isabella, self.pineflat, self.success, self.kaweah]:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pineflat); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_23); __pyx_t_27 = 0; __pyx_t_22 = 0; __pyx_t_4 = 0; __pyx_t_23 = 0; __pyx_t_23 = __pyx_t_5; __Pyx_INCREF(__pyx_t_23); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (__pyx_t_9 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3177, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3178: for z in self.reservoir_canal[a.key]:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_4 = __pyx_t_22; __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = 0; __pyx_t_12 = NULL; } else { __pyx_t_13 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_12 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3178, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3178, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3178, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_4, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_4); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3178, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+3179: self.set_canal_direction(flow_type)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_22 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3180:
+3181: canal_size = self.canal_district_len[z.name]
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_t_5); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3181, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_27); __pyx_t_27 = 0;
+3182: total_canal_demand = self.search_canal_demand(dowy, z, a.key, z.name, 'normal',flow_type,wateryear,'banking', {})
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_dowy, __pyx_v_z, __pyx_t_22, __pyx_t_8, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_banking, __pyx_t_2}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[10] = {__pyx_t_25, __pyx_v_dowy, __pyx_v_z, __pyx_t_22, __pyx_t_8, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_banking, __pyx_t_2}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_1 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_1, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_banking); __Pyx_GIVEREF(__pyx_n_u_banking); PyTuple_SET_ITEM(__pyx_t_1, 7+__pyx_t_6, __pyx_n_u_banking); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 8+__pyx_t_6, __pyx_t_2); __pyx_t_22 = 0; __pyx_t_8 = 0; __pyx_t_2 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_27); __pyx_t_27 = 0;
+3183: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_available_flow, __pyx_float_0_0);
+3184: for zz in total_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_total_canal_demand)) || PyTuple_CheckExact(__pyx_v_total_canal_demand)) { __pyx_t_27 = __pyx_v_total_canal_demand; __Pyx_INCREF(__pyx_t_27); __pyx_t_15 = 0; __pyx_t_14 = NULL; } else { __pyx_t_15 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_v_total_canal_demand); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3184, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3184, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3184, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3184, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3185: available_flow += total_canal_demand[zz]
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_total_canal_demand, __pyx_v_zz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_1); __pyx_t_1 = 0;
+3186: excess_water, unmet_demand = self.distribute_canal_deliveries(dowy, z, a.key, z.name, available_flow, canal_size, wateryear, 'normal', flow_type, 'banking')
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[11] = {__pyx_t_8, __pyx_v_dowy, __pyx_v_z, __pyx_t_5, __pyx_t_2, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_banking}; __pyx_t_27 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[11] = {__pyx_t_8, __pyx_v_dowy, __pyx_v_z, __pyx_t_5, __pyx_t_2, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_banking}; __pyx_t_27 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_22 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_6, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_6, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_22, 7+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_22, 8+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_banking); __Pyx_GIVEREF(__pyx_n_u_banking); PyTuple_SET_ITEM(__pyx_t_22, 9+__pyx_t_6, __pyx_n_u_banking); __pyx_t_5 = 0; __pyx_t_2 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_22, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_27))) || (PyList_CheckExact(__pyx_t_27))) { PyObject* sequence = __pyx_t_27; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3186, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_22 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_1 = PyList_GET_ITEM(sequence, 0); __pyx_t_22 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_22); #else __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_22 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else { Py_ssize_t index = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_2)->tp_iternext; index = 0; __pyx_t_1 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_1)) goto __pyx_L262_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); index = 1; __pyx_t_22 = __pyx_t_10(__pyx_t_2); if (unlikely(!__pyx_t_22)) goto __pyx_L262_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_2), 2) < 0) __PYX_ERR(0, 3186, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; goto __pyx_L263_unpacking_done; __pyx_L262_unpacking_failed:; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3186, __pyx_L1_error) __pyx_L263_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_water, __pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demand, __pyx_t_22); __pyx_t_22 = 0;
3187:
+3188: self.set_canal_direction(flow_type)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_23 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3189:
3190:
3191:
3192: #toggle to enable flood releases to go to districts/banks that don't have a contract w/the reservoir
3193: #only san luis restricts flood releases to contractors only (b/c otherwise they just dont pump)
+3194: overflow_deliveries = 1
__pyx_v_overflow_deliveries = 1;
+3195: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3196: self.set_canal_direction(flow_type)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_23 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3197: #if flow is already on a bi-directional canal, it becomes closed to canals going the other direction
3198: #checks the calaqueduct turnout to xvc is used, if not, xvc is open to fkc and kern river
+3199: self.set_canal_direction(flow_type)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_23 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3200: #release flood flows to canals
+3201: self.flood_operations(t, m, dowy, wateryear, self.millerton, flow_type, overflow_deliveries, wyt)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flood_operations); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_22 = __Pyx_PyInt_From_long(__pyx_v_overflow_deliveries); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_27, __pyx_v_flow_type, __pyx_t_22, __pyx_v_wyt}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[9] = {__pyx_t_1, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_27, __pyx_v_flow_type, __pyx_t_22, __pyx_v_wyt}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_2 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_2, 4+__pyx_t_6, __pyx_t_27); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_2, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_2, 6+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_2, 7+__pyx_t_6, __pyx_v_wyt); __pyx_t_27 = 0; __pyx_t_22 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3202: self.set_canal_direction(flow_type)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_23 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3203: #for canal in self.reservoir_canal[self.millerton.key]:
3204: #for cnt in self.canal_contract[canal.name]:
3205: #for socal_cont in [self.metropolitan, self.castaic, self.coachella]:
3206: #if cnt.name + '_flood' in socal_cont.deliveries['SOC']:
3207: #if socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear] > 0.0:
3208: #socal_cont.deliveries['SOC']['tableA'][wateryear] += socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear]
3209: #self.pumping_turnback['SLS'] -= socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear]
3210: #socal_cont.deliveries['SOC'][cnt.name + '_flood'][wateryear] = 0.0
3211: #for socal_cont in [self.socal,]:
3212: #if cnt.name + '_flood' in socal_cont.deliveries:
3213: #if socal_cont.deliveries[cnt.name + '_flood'][wateryear] > 0.0:
3214: #socal_cont.deliveries['tableA'][wateryear] += socal_cont.deliveries[cnt.name + '_flood'][wateryear]
3215: #self.pumping_turnback['SLS'] -= socal_cont.deliveries[cnt.name + '_flood'][wateryear]
3216: #socal_cont.deliveries[cnt.name + '_flood'][wateryear] = 0.0
3217:
3218:
3219:
3220:
+3221: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3222: for z in self.reservoir_canal[self.sanluis.key]:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3222, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3222, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_4); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3222, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3222, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3223: self.set_canal_direction(flow_type)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); } } __pyx_t_4 = (__pyx_t_22) ? __Pyx_PyObject_Call2Args(__pyx_t_23, __pyx_t_22, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3224:
+3225: canal_size = self.canal_district_len[z.name]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_22); __pyx_t_22 = 0;
+3226: total_canal_demand = self.search_canal_demand(dowy, z, self.sanluis.key, z.name, 'normal', flow_type, wateryear,'delivery', {})
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_key); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_t_27, __pyx_t_4, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_1}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_t_27, __pyx_t_4, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_delivery, __pyx_t_1}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_8 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_8, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_8, 7+__pyx_t_6, __pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 8+__pyx_t_6, __pyx_t_1); __pyx_t_27 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_8, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_22); __pyx_t_22 = 0;
+3227: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_available_flow, __pyx_float_0_0);
+3228: for zz in total_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_total_canal_demand)) || PyTuple_CheckExact(__pyx_v_total_canal_demand)) { __pyx_t_22 = __pyx_v_total_canal_demand; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_v_total_canal_demand); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3228, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3228, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_23); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3228, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3228, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3229: available_flow += total_canal_demand[zz]
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_v_total_canal_demand, __pyx_v_zz); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_t_23); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_8); __pyx_t_8 = 0;
+3230: excess_water, unmet_demand = self.distribute_canal_deliveries(dowy, z, self.sanluis.key, z.name, available_flow, canal_size, wateryear, 'normal', flow_type, 'delivery')
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_23, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[11] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_23, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[11] = {__pyx_t_4, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_23, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_delivery}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_27 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_6, __pyx_t_23); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_6, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_6, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_27, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_27, 7+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_27, 8+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_delivery); __Pyx_GIVEREF(__pyx_n_u_delivery); PyTuple_SET_ITEM(__pyx_t_27, 9+__pyx_t_6, __pyx_n_u_delivery); __pyx_t_1 = 0; __pyx_t_23 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_27, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3230, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_27 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_8 = PyList_GET_ITEM(sequence, 0); __pyx_t_27 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_27); #else __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_27 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3230, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_8 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_8)) goto __pyx_L268_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); index = 1; __pyx_t_27 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_27)) goto __pyx_L268_unpacking_failed; __Pyx_GOTREF(__pyx_t_27); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_23), 2) < 0) __PYX_ERR(0, 3230, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L269_unpacking_done; __pyx_L268_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3230, __pyx_L1_error) __pyx_L269_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_water, __pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demand, __pyx_t_27); __pyx_t_27 = 0;
3231:
3232: #total_canal_demand = self.find_contract_demand(t, dowy, wateryear, z, a.key, z.name, 'normal',flow_type)
3233: #excess_water, unmet_demand = self.deliver_contracts(t, dowy, z, a.key, z.name, total_canal_demand, canal_size, wateryear, 'normal',flow_type)
+3234: self.set_canal_direction(flow_type)
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_27))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_27); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_27); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_27, function); } } __pyx_t_22 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_27, __pyx_t_8, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_27, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3235:
3236: #Flood releases
3237: #article21 releases from san luis - state
+3238: self.canal_contract['caa'] = [self.swpdelta]#for swp flood releases, only swp contracts are considered
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = PyList_New(1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_22, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_caa, __pyx_t_22) < 0)) __PYX_ERR(0, 3238, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3239: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3240: overflow_deliveries = 0#no flood deliveries to non-contractors in swp or cvp
__pyx_v_overflow_deliveries = 0;
+3241: self.set_canal_direction(flow_type)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_27 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_22 = (__pyx_t_27) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_27, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3242: self.flood_operations(t, m, dowy, wateryear, self.sanluisstate, flow_type, overflow_deliveries, wyt)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flood_operations); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_8 = __Pyx_PyInt_From_long(__pyx_v_overflow_deliveries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_27, __pyx_v_flow_type, __pyx_t_8, __pyx_v_wyt}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_27, __pyx_v_flow_type, __pyx_t_8, __pyx_v_wyt}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_1 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_6, __pyx_t_27); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 6+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_1, 7+__pyx_t_6, __pyx_v_wyt); __pyx_t_27 = 0; __pyx_t_8 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3243:
3244: #flood releases from san luis - federal
+3245: self.canal_contract['caa'] = [self.cvpdelta, self.cvpexchange, self.crossvalley]
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyList_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_8, 0, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_8, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_8, 2, __pyx_t_1); __pyx_t_22 = 0; __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_caa, __pyx_t_8) < 0)) __PYX_ERR(0, 3245, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3246: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_8 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3247: self.flood_operations(t, m, dowy, wateryear, self.sanluisfederal, flow_type, overflow_deliveries, wyt)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_flood_operations); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyInt_From_long(__pyx_v_overflow_deliveries); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_27 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_2, __pyx_v_flow_type, __pyx_t_22, __pyx_v_wyt}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[9] = {__pyx_t_27, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_t_2, __pyx_v_flow_type, __pyx_t_22, __pyx_v_wyt}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_23 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_27) { __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_27); __pyx_t_27 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_t_2); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_wyt); __Pyx_GIVEREF(__pyx_v_wyt); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_6, __pyx_v_wyt); __pyx_t_2 = 0; __pyx_t_22 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_23, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3248: self.set_canal_direction(flow_type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_8 = (__pyx_t_23) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_23, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3249: self.canal_contract['caa'] = [self.swpdelta, self.cvpdelta, self.cvpexchange, self.crossvalley]#reset california aqueduct contracts to be all san luis contracts
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cvpexchange); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_crossvalley); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_23); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_2, 3, __pyx_t_22); __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (unlikely(PyObject_SetItem(__pyx_t_22, __pyx_n_u_caa, __pyx_t_2) < 0)) __PYX_ERR(0, 3249, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3250:
3251: #if self.sanluisstate.min_daily_uncontrolled > 0.0:
3252: #if self.metropolitan.annualdemand['SOC'] > self.metropolitan.projected_supply['SOC']['tableA']:
3253: #this_day_contract_deliveries = max(min(self.metropolitan.dailydemand_start['SOC'] - self.metropolitan.dailydemand['SOC'], self.metropolitan.deliveries['SOC']['tableA'][wateryear], self.metropolitan.annualdemand['SOC'] - self.metropolitan.projected_supply['SOC']['tableA']), 0.0)
3254: #self.metropolitan.deliveries['SOC']['tableA_flood'][wateryear] += this_day_contract_deliveries
3255: #self.metropolitan.deliveries['SOC']['tableA'][wateryear] -= this_day_contract_deliveries
3256:
3257: ##Deliveries for banking
+3258: flow_type = "recharge"
__Pyx_INCREF(__pyx_n_u_recharge); __Pyx_DECREF_SET(__pyx_v_flow_type, __pyx_n_u_recharge);
+3259: for a in [self.sanluis, self.millerton]:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluis); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = PyTuple_New(2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_22); __pyx_t_2 = 0; __pyx_t_22 = 0; __pyx_t_22 = __pyx_t_23; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (__pyx_t_9 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3259, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3260: for z in self.reservoir_canal[a.key]:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; __pyx_t_12 = NULL; } else { __pyx_t_13 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3260, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3260, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3260, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3260, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3261: self.set_canal_direction(flow_type)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); } } __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_23, __pyx_t_8, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_23, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3262:
+3263: canal_size = self.canal_district_len[z.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_23); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_8); __pyx_t_8 = 0;
+3264: total_canal_demand = self.search_canal_demand(dowy, z, a.key, z.name, 'normal',flow_type,wateryear,'banking', {})
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_27, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_banking, __pyx_t_4}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[10] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_t_1, __pyx_t_27, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_banking, __pyx_t_4}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_25 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_6, __pyx_t_27); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_banking); __Pyx_GIVEREF(__pyx_n_u_banking); PyTuple_SET_ITEM(__pyx_t_25, 7+__pyx_t_6, __pyx_n_u_banking); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_25, 8+__pyx_t_6, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_27 = 0; __pyx_t_4 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_25, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_total_canal_demand, __pyx_t_8); __pyx_t_8 = 0;
+3265: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_available_flow, __pyx_float_0_0);
+3266: for zz in total_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_total_canal_demand)) || PyTuple_CheckExact(__pyx_v_total_canal_demand)) { __pyx_t_8 = __pyx_v_total_canal_demand; __Pyx_INCREF(__pyx_t_8); __pyx_t_15 = 0; __pyx_t_14 = NULL; } else { __pyx_t_15 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_v_total_canal_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3266, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_15); __Pyx_INCREF(__pyx_t_23); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3266, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_8, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_15); __Pyx_INCREF(__pyx_t_23); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3266, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_8, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3266, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3267: available_flow += total_canal_demand[zz]
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_v_total_canal_demand, __pyx_v_zz); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_t_23); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_25); __pyx_t_25 = 0;
+3268: excess_water, unmet_demand = self.distribute_canal_deliveries(dowy, z, a.key, z.name, available_flow, canal_size, wateryear, 'normal', flow_type, 'banking')
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_a, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_27 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_27 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_27)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_27); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[11] = {__pyx_t_27, __pyx_v_dowy, __pyx_v_z, __pyx_t_23, __pyx_t_4, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_banking}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[11] = {__pyx_t_27, __pyx_v_dowy, __pyx_v_z, __pyx_t_23, __pyx_t_4, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_banking}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_1 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_27) { __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_27); __pyx_t_27 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_6, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_6, __pyx_v_z); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_6, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_6, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_1, 6+__pyx_t_6, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_1, 7+__pyx_t_6, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_1, 8+__pyx_t_6, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_banking); __Pyx_GIVEREF(__pyx_n_u_banking); PyTuple_SET_ITEM(__pyx_t_1, 9+__pyx_t_6, __pyx_n_u_banking); __pyx_t_23 = 0; __pyx_t_4 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_8))) || (PyList_CheckExact(__pyx_t_8))) { PyObject* sequence = __pyx_t_8; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3268, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_25 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_25 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(__pyx_t_1); #else __pyx_t_25 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_1 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else { Py_ssize_t index = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_4)->tp_iternext; index = 0; __pyx_t_25 = __pyx_t_10(__pyx_t_4); if (unlikely(!__pyx_t_25)) goto __pyx_L276_unpacking_failed; __Pyx_GOTREF(__pyx_t_25); index = 1; __pyx_t_1 = __pyx_t_10(__pyx_t_4); if (unlikely(!__pyx_t_1)) goto __pyx_L276_unpacking_failed; __Pyx_GOTREF(__pyx_t_1); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_4), 2) < 0) __PYX_ERR(0, 3268, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; goto __pyx_L277_unpacking_done; __pyx_L276_unpacking_failed:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3268, __pyx_L1_error) __pyx_L277_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_water, __pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demand, __pyx_t_1); __pyx_t_1 = 0;
3269:
+3270: self.set_canal_direction(flow_type)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_direction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_22 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_v_flow_type) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_flow_type); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
3271:
3272: #swp/cvp_pump - find maximum pumping levels based on space in san luis(inputs for the northern model)
3273: #swp/cvp_release - toggle for 'max pumping' releases, based on space in san luis (inputs for the northern model)
3274: #take direct recharge deliveries and 'absorb' them into the groundwater, clearing way for more space in the recharge basins
+3275: for k in self.waterbank_list:#at water banks
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3275, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3275, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3275, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3275, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3276: k.sum_storage()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_k, __pyx_n_s_sum_storage); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_22 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3277: k.absorb_storage()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_k, __pyx_n_s_absorb_storage); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_22 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3278: for k in self.leiu_list:#at in-leiu district banks (some also have direct recharge capacity, in addition to in-leiu)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_22 = __pyx_t_2; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3278, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3278, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3278, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3278, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3279: k.absorb_storage()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_k, __pyx_n_s_absorb_storage); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3280: for x in self.district_list:#at in-district recharge facilities
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3280, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3280, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3280, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3280, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3281: if x.current_recharge_storage > 0.0:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_current_recharge_storage); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = PyObject_RichCompare(__pyx_t_22, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3281, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ }
+3282: x.absorb_storage()
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_absorb_storage); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); } } __pyx_t_8 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_22); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3283:
3284: # kill_permanent = 0
3285: # if kill_permanent == 1:
3286: # for x in self.private_list:
3287: # for xx in x.district_list:
3288: # x.find_unmet_et(xx, wateryear, dowy)
3289:
3290:
3291:
+3292: requester_list = [self.cawelo, self.ID4, self.rosedale]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_cawelo); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ID4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3292, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_22); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_t_22); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_22 = 0; __Pyx_DECREF_SET(__pyx_v_requester_list, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0;
+3293: for requester in requester_list:
__pyx_t_1 = __pyx_v_requester_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; for (;;) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3293, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_XDECREF_SET(__pyx_v_requester, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3294: for y in [self.kernriver, self.swpdelta]:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8); __pyx_t_22 = 0; __pyx_t_8 = 0; __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (__pyx_t_13 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3294, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3295: next_year_carryover, this_year_carryover = requester.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_t); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[9] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear, __pyx_t_4, __pyx_t_23, __pyx_t_27, __pyx_t_25, __pyx_t_5, __pyx_t_26}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[9] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear, __pyx_t_4, __pyx_t_23, __pyx_t_27, __pyx_t_25, __pyx_t_5, __pyx_t_26}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else #endif { __pyx_t_21 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_6, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_21, 6+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_21, 7+__pyx_t_6, __pyx_t_26); __pyx_t_4 = 0; __pyx_t_23 = 0; __pyx_t_27 = 0; __pyx_t_25 = 0; __pyx_t_5 = 0; __pyx_t_26 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3295, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_22 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_21 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_22 = PyList_GET_ITEM(sequence, 0); __pyx_t_21 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_21); #else __pyx_t_22 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_21 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_26)->tp_iternext; index = 0; __pyx_t_22 = __pyx_t_10(__pyx_t_26); if (unlikely(!__pyx_t_22)) goto __pyx_L289_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); index = 1; __pyx_t_21 = __pyx_t_10(__pyx_t_26); if (unlikely(!__pyx_t_21)) goto __pyx_L289_unpacking_failed; __Pyx_GOTREF(__pyx_t_21); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_26), 2) < 0) __PYX_ERR(0, 3295, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; goto __pyx_L290_unpacking_done; __pyx_L289_unpacking_failed:; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3295, __pyx_L1_error) __pyx_L290_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_21); __pyx_t_21 = 0;
+3296: self.buenavista.paper_balance['tableA'] -= requester.projected_supply['kern']
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_n_u_tableA); __pyx_t_28 = __pyx_n_u_tableA; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_t_28); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_n_u_kern); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = PyNumber_InPlaceSubtract(__pyx_t_8, __pyx_t_22); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_28, __pyx_t_21) < 0)) __PYX_ERR(0, 3296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3297: self.buenavista.paper_balance['kern'] += requester.projected_supply['kern']
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_n_u_kern); __pyx_t_28 = __pyx_n_u_kern; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_t_28); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_22, __pyx_n_u_kern); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_28, __pyx_t_22) < 0)) __PYX_ERR(0, 3297, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3298: requester.paper_balance['tableA'] += requester.projected_supply['kern']
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_n_u_tableA); __pyx_t_28 = __pyx_n_u_tableA; __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_t_28); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_kern); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_22, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_28, __pyx_t_8) < 0)) __PYX_ERR(0, 3298, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3299: requester.paper_balance['kern'] -= requester.projected_supply['kern']
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_paper_balance); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_INCREF(__pyx_n_u_kern); __pyx_t_28 = __pyx_n_u_kern; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_21, __pyx_t_28); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_kern); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceSubtract(__pyx_t_8, __pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_t_28, __pyx_t_2) < 0)) __PYX_ERR(0, 3299, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3300: for y in [self.kernriver, self.swpdelta]:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_2); __pyx_t_21 = 0; __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (__pyx_t_13 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3300, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3301: next_year_carryover, this_year_carryover = requester.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_requester, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[9] = {__pyx_t_4, __pyx_v_t, __pyx_v_wateryear, __pyx_t_26, __pyx_t_5, __pyx_t_25, __pyx_t_8, __pyx_t_27, __pyx_t_23}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[9] = {__pyx_t_4, __pyx_v_t, __pyx_v_wateryear, __pyx_t_26, __pyx_t_5, __pyx_t_25, __pyx_t_8, __pyx_t_27, __pyx_t_23}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_7 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_6, __pyx_t_23); __pyx_t_26 = 0; __pyx_t_5 = 0; __pyx_t_25 = 0; __pyx_t_8 = 0; __pyx_t_27 = 0; __pyx_t_23 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_7, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3301, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_21 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_21 = PyList_GET_ITEM(sequence, 0); __pyx_t_7 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(__pyx_t_7); #else __pyx_t_21 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_21 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_21)) goto __pyx_L293_unpacking_failed; __Pyx_GOTREF(__pyx_t_21); index = 1; __pyx_t_7 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_7)) goto __pyx_L293_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_23), 2) < 0) __PYX_ERR(0, 3301, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L294_unpacking_done; __pyx_L293_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3301, __pyx_L1_error) __pyx_L294_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_21); __pyx_t_21 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_7); __pyx_t_7 = 0;
3302:
+3303: for y in [self.kernriver, self.swpdelta]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (__pyx_t_9 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3303, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3304: next_year_carryover, this_year_carryover = self.buenavista.update_balance(t, wateryear, y.storage_pool[t], y.allocation[t], y.available_water[t], y.name, y.tot_carryover, y.type)
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_update_balance); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_allocation); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_available_water); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_wateryear, __pyx_t_21, __pyx_t_23, __pyx_t_27, __pyx_t_1, __pyx_t_8, __pyx_t_25}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_wateryear, __pyx_t_21, __pyx_t_23, __pyx_t_27, __pyx_t_1, __pyx_t_8, __pyx_t_25}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_26 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_6, __pyx_t_21); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_26, 4+__pyx_t_6, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_26, 5+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_26, 6+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_26, 7+__pyx_t_6, __pyx_t_25); __pyx_t_21 = 0; __pyx_t_23 = 0; __pyx_t_27 = 0; __pyx_t_1 = 0; __pyx_t_8 = 0; __pyx_t_25 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_26, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3304, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_26 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_26 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_26); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_25)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_25); if (unlikely(!__pyx_t_7)) goto __pyx_L297_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_26 = __pyx_t_10(__pyx_t_25); if (unlikely(!__pyx_t_26)) goto __pyx_L297_unpacking_failed; __Pyx_GOTREF(__pyx_t_26); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_25), 2) < 0) __PYX_ERR(0, 3304, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; goto __pyx_L298_unpacking_done; __pyx_L297_unpacking_failed:; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3304, __pyx_L1_error) __pyx_L298_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_next_year_carryover, __pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_this_year_carryover, __pyx_t_26); __pyx_t_26 = 0;
3305:
3306:
3307: #reservoir class water balance do not include releases for irrigation/recharge deliveries
3308: #update storage based on total contract deliveries each day
+3309: for y in self.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_22 = __pyx_t_2; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3309, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3309, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3309, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3309, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3309, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3310: reservoir = self.contract_reservoir[y.key]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_reservoir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_key); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_26); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_7); __pyx_t_7 = 0;
+3311: if t < (self.T - 1):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyInt_SubtractObjC(__pyx_t_7, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_v_t, __pyx_t_26, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { /* … */ }
+3312: reservoir.S[t+1] -= y.daily_deliveries
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_26); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_daily_deliveries); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_26, __pyx_t_8) < 0)) __PYX_ERR(0, 3312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
3313:
+3314: y.daily_deliveries = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_daily_deliveries, __pyx_float_0_0) < 0) __PYX_ERR(0, 3314, __pyx_L1_error)
+3315: if t < (self.T -1):
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_t_22, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyObject_RichCompare(__pyx_v_t, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L302; }
+3316: swp_pump, cvp_pump, = self.find_san_luis_space(t, 6680.0*cfs_tafd, 4430.0*cfs_tafd)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_san_luis_space); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_8 = PyNumber_Multiply(__pyx_float_6680_0, __pyx_t_26); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GetModuleGlobalName(__pyx_t_26, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_25 = PyNumber_Multiply(__pyx_float_4430_0, __pyx_t_26); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_26 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_26)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_26); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[4] = {__pyx_t_26, __pyx_v_t, __pyx_t_8, __pyx_t_25}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[4] = {__pyx_t_26, __pyx_v_t, __pyx_t_8, __pyx_t_25}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_2 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_26) { __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_26); __pyx_t_26 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_t_25); __pyx_t_8 = 0; __pyx_t_25 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_22))) || (PyList_CheckExact(__pyx_t_22))) { PyObject* sequence = __pyx_t_22; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3316, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_7 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_2 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_7 = PyList_GET_ITEM(sequence, 0); __pyx_t_2 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_2); #else __pyx_t_7 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else { Py_ssize_t index = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_25)->tp_iternext; index = 0; __pyx_t_7 = __pyx_t_10(__pyx_t_25); if (unlikely(!__pyx_t_7)) goto __pyx_L303_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); index = 1; __pyx_t_2 = __pyx_t_10(__pyx_t_25); if (unlikely(!__pyx_t_2)) goto __pyx_L303_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_25), 2) < 0) __PYX_ERR(0, 3316, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; goto __pyx_L304_unpacking_done; __pyx_L303_unpacking_failed:; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3316, __pyx_L1_error) __pyx_L304_unpacking_done:; } __pyx_v_swp_pump = __pyx_t_7; __pyx_t_7 = 0; __pyx_v_cvp_pump = __pyx_t_2; __pyx_t_2 = 0;
3317: else:
+3318: swp_pump = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_swp_pump = __pyx_float_0_0;
+3319: cvp_pump = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_cvp_pump = __pyx_float_0_0;
}
__pyx_L302:;
3320:
3321: ####ASSUMPTION THAT ANY DEMAND NOT MET BY SURFACE WATER IS MET THROUGH PUMPING
3322: ####doesn't do anything in the model (no GW connection), but can change this assumption/link to other models
+3323: for x in self.district_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3323, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3323, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3323, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3323, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3324: x.annual_private_pumping = x.dailydemand[0]
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_22, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_annual_private_pumping, __pyx_t_7) < 0) __PYX_ERR(0, 3324, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3325: for x in self.private_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_7 = __pyx_t_2; __Pyx_INCREF(__pyx_t_7); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3325, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3325, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3325, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3325, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3326: for xx in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_22 = __pyx_t_2; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3326, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3326, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3326, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3326, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3327: x.annual_private_pumping[xx] = x.dailydemand[xx]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_private_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_xx, __pyx_t_25) < 0)) __PYX_ERR(0, 3327, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3328: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_22 = __pyx_t_7; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3328, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3328, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_7); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3328, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3328, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3329: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_25 = __pyx_t_7; __Pyx_INCREF(__pyx_t_25); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_14 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3329, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3329, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_7); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3329, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_14(__pyx_t_25); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3329, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3330: x.annual_private_pumping[xx] = x.dailydemand[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annual_private_pumping); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3330, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_xx, __pyx_t_2) < 0)) __PYX_ERR(0, 3330, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3331: ####FOR RESULTS-OUTPUT (not output to northern model, but output for plots)
+3332: for x in self.district_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_25 = __pyx_t_22; __Pyx_INCREF(__pyx_t_25); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_12 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3332, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3332, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_25, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3332, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_25, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3332, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_25); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3332, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3333: x.accounting_full(t, wateryear)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_accounting_full); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_wateryear); __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3334: for y in self.contract_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3334, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3334, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3334, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_14(__pyx_t_2); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3334, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3335: #from individual contracts - paper balance, carryover storage, allocations, and deliveries (irrigation) - recalfews_srcs daily values
+3336: y.accounting(t, da, m, wateryear, x.deliveries[y.name][wateryear], x.carryover[y.name], x.turnback_pool[y.name], x.deliveries[y.name + '_flood'][wateryear] + x.deliveries[y.name + '_flood_irrigation'][wateryear])
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_accounting); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_26); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_21 = PyNumber_Add(__pyx_t_7, __pyx_n_u_flood); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_21); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_wateryear); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_n_u_flood_irrigation); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_wateryear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_21, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_26, __pyx_t_27, __pyx_t_23, __pyx_t_1}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[9] = {__pyx_t_5, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_26, __pyx_t_27, __pyx_t_23, __pyx_t_1}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_21 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_21, 2+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_21, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_21, 4+__pyx_t_6, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_21, 5+__pyx_t_6, __pyx_t_27); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_21, 6+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_21, 7+__pyx_t_6, __pyx_t_1); __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_23 = 0; __pyx_t_1 = 0; __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_21, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3336, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3337: for x in self.private_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_2 = __pyx_t_25; __Pyx_INCREF(__pyx_t_2); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3337, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_25); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3337, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_9); __Pyx_INCREF(__pyx_t_25); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3337, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_2, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3337, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3337, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3338: x.accounting_full(t, wateryear)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_accounting_full); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3338, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3338, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif { __pyx_t_21 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_21, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_21, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_21, 1+__pyx_t_6, __pyx_v_wateryear); __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_21, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3339: for y in self.contract_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_22 = __pyx_t_25; __Pyx_INCREF(__pyx_t_22); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_14 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3339, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3339, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3339, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_22, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_14(__pyx_t_22); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3339, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3340: for xx in x.district_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_21 = __pyx_t_25; __Pyx_INCREF(__pyx_t_21); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_16 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3340, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3340, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_21, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3340, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_21, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_16(__pyx_t_21); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3340, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3341: y.accounting(t, da, m, wateryear, x.deliveries[xx][y.name][wateryear], x.carryover[xx][y.name], x.turnback_pool[xx][y.name], x.deliveries[xx][y.name + '_flood'][wateryear] + x.deliveries[xx][y.name + '_flood_irrigation'][wateryear])
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_accounting); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_27); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_7 = PyNumber_Add(__pyx_t_27, __pyx_n_u_flood); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_7); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_wateryear); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_4 = PyNumber_Add(__pyx_t_27, __pyx_n_u_flood_irrigation); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_4); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyNumber_Add(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[9] = {__pyx_t_4, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_1, __pyx_t_26, __pyx_t_5, __pyx_t_27}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[9] = {__pyx_t_4, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_1, __pyx_t_26, __pyx_t_5, __pyx_t_27}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif { __pyx_t_7 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_6, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_6, __pyx_t_27); __pyx_t_1 = 0; __pyx_t_26 = 0; __pyx_t_5 = 0; __pyx_t_27 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_7, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3341, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3342: for x in self.city_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_22 = __pyx_t_2; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3342, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3342, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3342, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3342, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3343: x.accounting_full(t, wateryear)
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_accounting_full); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_21))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_21); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_21); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_21, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3343, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_21)) { PyObject *__pyx_temp[3] = {__pyx_t_25, __pyx_v_t, __pyx_v_wateryear}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_21, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3343, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_wateryear); __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_21, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3344: for y in self.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_21 = __pyx_t_2; __Pyx_INCREF(__pyx_t_21); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_14 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3344, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3344, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_21, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3344, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_21, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_14(__pyx_t_21); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3344, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3345: for xx in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3345, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3345, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3345, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_16(__pyx_t_8); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3345, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3346: y.accounting(t, da, m, wateryear, x.deliveries[xx][y.name][wateryear], x.carryover[xx][y.name], x.turnback_pool[xx][y.name], x.deliveries[xx][y.name + '_flood'][wateryear] + x.deliveries[xx][y.name + '_flood_irrigation'][wateryear])
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_accounting); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wateryear); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_5); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_turnback_pool); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = PyNumber_Add(__pyx_t_5, __pyx_n_u_flood); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_23 = PyNumber_Add(__pyx_t_5, __pyx_n_u_flood_irrigation); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wateryear); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_7, __pyx_t_26, __pyx_t_1, __pyx_t_5}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[9] = {__pyx_t_23, __pyx_v_t, __pyx_v_da, __pyx_v_m, __pyx_v_wateryear, __pyx_t_7, __pyx_t_26, __pyx_t_1, __pyx_t_5}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 8+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_4 = PyTuple_New(8+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_6, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_26); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_6, __pyx_t_26); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 7+__pyx_t_6, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_26 = 0; __pyx_t_1 = 0; __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3347: #update individual accounts in groundwater banks
+3348: for w in self.waterbank_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_21 = __pyx_t_22; __Pyx_INCREF(__pyx_t_21); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3348, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3348, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3348, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3348, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_21); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3348, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3349: w.accounting(t, m, da, wateryear)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_accounting); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear}; __pyx_t_22 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_2, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear}; __pyx_t_22 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_22); } else #endif { __pyx_t_25 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_6, __pyx_v_wateryear); __pyx_t_22 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_25, NULL); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3349, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3350: for w in self.leiu_list:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_22 = __pyx_t_21; __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_12 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3350, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_22))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3350, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_22)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3350, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_22, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_12(__pyx_t_22); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3350, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+3351: w.accounting_leiubank(t, m, da, wateryear)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_accounting_leiubank); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_25 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_25, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear}; __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_21); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_25, __pyx_v_t, __pyx_v_m, __pyx_v_da, __pyx_v_wateryear}; __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_21); } else #endif { __pyx_t_2 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_t); __Pyx_INCREF(__pyx_v_m); __Pyx_GIVEREF(__pyx_v_m); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_v_m); __Pyx_INCREF(__pyx_v_da); __Pyx_GIVEREF(__pyx_v_da); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_6, __pyx_v_da); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_6, __pyx_v_wateryear); __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
3352:
3353: ##Reset contracts for the next water year, distribute unused contract water into carryover flows/ next year's contract allocation
+3354: tot_paper = 0.0
__pyx_v_tot_paper = 0.0;
+3355: tot_turnback = 0.0
__pyx_v_tot_turnback = 0.0;
+3356: if m == 9 and da == 30:
__pyx_t_22 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_9, 9, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3356, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L336_bool_binop_done; } __pyx_t_22 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_30, 30, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3356, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __pyx_t_11; __pyx_L336_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3357: for y in self.contract_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_21 = __pyx_t_22; __Pyx_INCREF(__pyx_t_21); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3357, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3357, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_22); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3357, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_12(__pyx_t_21); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3357, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3358: lastYearCarryover = y.tot_carryover
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_XDECREF_SET(__pyx_v_lastYearCarryover, __pyx_t_22); __pyx_t_22 = 0;
+3359: y.tot_carryover = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover, __pyx_float_0_0) < 0) __PYX_ERR(0, 3359, __pyx_L1_error)
+3360: y.tot_new_alloc = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_float_0_0) < 0) __PYX_ERR(0, 3360, __pyx_L1_error)
+3361: for x in self.district_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_8 = __pyx_t_22; __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3361, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3361, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_22); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3361, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3361, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3362: use_contract = 0
__pyx_v_use_contract = 0;
+3363: for yy in x.contract_list:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (likely(PyList_CheckExact(__pyx_t_22)) || PyTuple_CheckExact(__pyx_t_22)) { __pyx_t_2 = __pyx_t_22; __Pyx_INCREF(__pyx_t_2); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_22); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3363, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3363, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_22 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_15); __Pyx_INCREF(__pyx_t_22); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3363, __pyx_L1_error) #else __pyx_t_22 = PySequence_ITEM(__pyx_t_2, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); #endif } } else { __pyx_t_22 = __pyx_t_16(__pyx_t_2); if (unlikely(!__pyx_t_22)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3363, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_22); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_22); __pyx_t_22 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3364: if yy == y.name:
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = PyObject_RichCompare(__pyx_v_yy, __pyx_t_22, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3364, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__pyx_t_3) { /* … */ }
+3365: use_contract = 1
__pyx_v_use_contract = 1;
+3366: if use_contract == 1:
__pyx_t_3 = ((__pyx_v_use_contract == 1) != 0);
if (__pyx_t_3) {
/* … */
}
+3367: new_alloc, carryover = x.calc_carryover(y.storage_pool[t], wateryear, y.type, y.name)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_carryover); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_t_4, __pyx_v_wateryear, __pyx_t_22, __pyx_t_5}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[5] = {__pyx_t_1, __pyx_t_4, __pyx_v_wateryear, __pyx_t_22, __pyx_t_5}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_26 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (__pyx_t_1) { __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_26, 0, __pyx_t_1); __pyx_t_1 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_26, 0+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_26, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_26, 2+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_26, 3+__pyx_t_6, __pyx_t_5); __pyx_t_4 = 0; __pyx_t_22 = 0; __pyx_t_5 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) { PyObject* sequence = __pyx_t_2; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3367, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_25 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_26 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_25 = PyList_GET_ITEM(sequence, 0); __pyx_t_26 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(__pyx_t_26); #else __pyx_t_25 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_25 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_25)) goto __pyx_L346_unpacking_failed; __Pyx_GOTREF(__pyx_t_25); index = 1; __pyx_t_26 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_26)) goto __pyx_L346_unpacking_failed; __Pyx_GOTREF(__pyx_t_26); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_5), 2) < 0) __PYX_ERR(0, 3367, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L347_unpacking_done; __pyx_L346_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3367, __pyx_L1_error) __pyx_L347_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_new_alloc, __pyx_t_25); __pyx_t_25 = 0; __Pyx_XDECREF_SET(__pyx_v_carryover, __pyx_t_26); __pyx_t_26 = 0;
+3368: y.tot_new_alloc += new_alloc
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_26 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_v_new_alloc); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_t_26) < 0) __PYX_ERR(0, 3368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3369: y.tot_carryover += carryover
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_26, __pyx_v_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover, __pyx_t_2) < 0) __PYX_ERR(0, 3369, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3370:
3371:
+3372: for x in self.private_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3372, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3372, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3372, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_14(__pyx_t_2); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3372, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3373: #total_carryover = 0.0
3374: #total_paper_balance = 0.0
3375: #total_carryover_limit = 0.0
+3376: use_contract = 0
__pyx_v_use_contract = 0;
+3377: for yy in x.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_26 = __pyx_t_8; __Pyx_INCREF(__pyx_t_26); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_16 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3377, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_8); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3377, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_8); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3377, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_16(__pyx_t_26); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3377, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3378: if yy == y.name:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_25 = PyObject_RichCompare(__pyx_v_yy, __pyx_t_8, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3378, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3378, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__pyx_t_3) { /* … */ }
+3379: use_contract = 1
__pyx_v_use_contract = 1;
+3380: if use_contract == 1:
__pyx_t_3 = ((__pyx_v_use_contract == 1) != 0);
if (__pyx_t_3) {
/* … */
}
+3381: for xx in x.district_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_25 = __pyx_t_26; __Pyx_INCREF(__pyx_t_25); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_16 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3381, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3381, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_25, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3381, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_25, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_16(__pyx_t_25); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3381, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
3382: # district_object = self.district_keys[xx]
+3383: new_alloc, carryover = x.calc_carryover(y.storage_pool[t], wateryear, y.type, y.name, xx, self.district_keys[xx].project_contract, self.district_keys[xx].rights)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_t); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_23, __pyx_n_s_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_t_22, __pyx_v_wateryear, __pyx_t_5, __pyx_t_4, __pyx_v_xx, __pyx_t_1, __pyx_t_7}; __pyx_t_26 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_t_22, __pyx_v_wateryear, __pyx_t_5, __pyx_t_4, __pyx_v_xx, __pyx_t_1, __pyx_t_7}; __pyx_t_26 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_27 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_27, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_27, 0+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_27, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_27, 2+__pyx_t_6, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_27, 3+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_27, 4+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_27, 5+__pyx_t_6, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_27, 6+__pyx_t_6, __pyx_t_7); __pyx_t_22 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_7 = 0; __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_27, NULL); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_26))) || (PyList_CheckExact(__pyx_t_26))) { PyObject* sequence = __pyx_t_26; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3383, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_8 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_27 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_8 = PyList_GET_ITEM(sequence, 0); __pyx_t_27 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_27); #else __pyx_t_8 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_27 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_8 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_8)) goto __pyx_L356_unpacking_failed; __Pyx_GOTREF(__pyx_t_8); index = 1; __pyx_t_27 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_27)) goto __pyx_L356_unpacking_failed; __Pyx_GOTREF(__pyx_t_27); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_7), 2) < 0) __PYX_ERR(0, 3383, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L357_unpacking_done; __pyx_L356_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3383, __pyx_L1_error) __pyx_L357_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_new_alloc, __pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_carryover, __pyx_t_27); __pyx_t_27 = 0;
3384:
+3385: y.tot_carryover += carryover
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_t_26, __pyx_v_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover, __pyx_t_27) < 0) __PYX_ERR(0, 3385, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3386: y.tot_new_alloc += new_alloc
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = PyNumber_InPlaceAdd(__pyx_t_27, __pyx_v_new_alloc); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_t_26) < 0) __PYX_ERR(0, 3386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
3387: #total_carryover += x.carryover[xx][y.name]
3388: #total_paper_balance += x.paper_balance[xx][y.name]
3389: #total_carryover_limit += x.contract_carryover_list[xx][y.name]
3390: #if total_carryover + total_paper_balance > total_carryover_limit:
3391: #for xx in x.district_list:
3392: #x.carryover[xx][y.name] = x.contract_carryover_list[xx][y.name]
3393: #y.tot_carryover += x.carryover[xx][y.name]
3394: #y.tot_new_alloc += (total_carryover + total_paper_balance - total_carryover_limit)
3395: #else:
3396: #carryover_frac = (total_carryover + total_paper_balance)/total_carryover_limit
3397: #for xx in x.district_list:
3398: #x.carryover[xx][y.name] = carryover_frac*x.contract_carryover_list[xx][y.name]
3399: #y.tot_carryover += x.carryover[xx][y.name]
3400: #for xx in x.district_list:
3401: #x.paper_balance[xx][y.name] = 0.0
+3402: for x in self.city_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_25 = __pyx_t_2; __Pyx_INCREF(__pyx_t_25); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_14 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3402, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3402, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_2); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3402, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_14(__pyx_t_25); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3402, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
3403: #total_carryover = 0.0
3404: #total_paper_balance = 0.0
3405: #total_carryover_limit = 0.0
+3406: use_contract = 0
__pyx_v_use_contract = 0;
+3407: for yy in x.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_26 = __pyx_t_2; __Pyx_INCREF(__pyx_t_26); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_26 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_16 = Py_TYPE(__pyx_t_26)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3407, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_26))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3407, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_26)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_26, __pyx_t_15); __Pyx_INCREF(__pyx_t_2); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3407, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_26, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_16(__pyx_t_26); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3407, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3408: if yy == y.name:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_27 = PyObject_RichCompare(__pyx_v_yy, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_27); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_27); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 3408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; if (__pyx_t_3) { /* … */ }
+3409: use_contract = 1
__pyx_v_use_contract = 1;
+3410: if use_contract == 1:
__pyx_t_3 = ((__pyx_v_use_contract == 1) != 0);
if (__pyx_t_3) {
/* … */
}
+3411: for xx in x.district_list:
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); if (likely(PyList_CheckExact(__pyx_t_26)) || PyTuple_CheckExact(__pyx_t_26)) { __pyx_t_27 = __pyx_t_26; __Pyx_INCREF(__pyx_t_27); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_16 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3411, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3411, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_26 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_15); __Pyx_INCREF(__pyx_t_26); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3411, __pyx_L1_error) #else __pyx_t_26 = PySequence_ITEM(__pyx_t_27, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); #endif } } else { __pyx_t_26 = __pyx_t_16(__pyx_t_27); if (unlikely(!__pyx_t_26)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3411, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_26); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_26); __pyx_t_26 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
3412: # district_object = self.district_keys[xx]
+3413: new_alloc, carryover = x.calc_carryover(y.storage_pool[t], wateryear, y.type, y.name, xx, self.district_keys[xx].project_contract, self.district_keys[xx].rights)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_calc_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_storage_pool); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_rights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_t_7, __pyx_v_wateryear, __pyx_t_8, __pyx_t_1, __pyx_v_xx, __pyx_t_4, __pyx_t_5}; __pyx_t_26 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[8] = {__pyx_t_22, __pyx_t_7, __pyx_v_wateryear, __pyx_t_8, __pyx_t_1, __pyx_v_xx, __pyx_t_4, __pyx_t_5}; __pyx_t_26 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_23 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_wateryear); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_6, __pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_26 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_23, NULL); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_26))) || (PyList_CheckExact(__pyx_t_26))) { PyObject* sequence = __pyx_t_26; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 3413, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_23 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_23 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_23); #else __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_23 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; } else { Py_ssize_t index = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_26); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_5)->tp_iternext; index = 0; __pyx_t_2 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_2)) goto __pyx_L366_unpacking_failed; __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_23 = __pyx_t_10(__pyx_t_5); if (unlikely(!__pyx_t_23)) goto __pyx_L366_unpacking_failed; __Pyx_GOTREF(__pyx_t_23); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_5), 2) < 0) __PYX_ERR(0, 3413, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; goto __pyx_L367_unpacking_done; __pyx_L366_unpacking_failed:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 3413, __pyx_L1_error) __pyx_L367_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_new_alloc, __pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_carryover, __pyx_t_23); __pyx_t_23 = 0;
+3414: y.tot_carryover += carryover
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_23 = PyNumber_InPlaceAdd(__pyx_t_26, __pyx_v_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover, __pyx_t_23) < 0) __PYX_ERR(0, 3414, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3415: y.tot_new_alloc += new_alloc
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_26 = PyNumber_InPlaceAdd(__pyx_t_23, __pyx_v_new_alloc); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc, __pyx_t_26) < 0) __PYX_ERR(0, 3415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
3416: #total_carryover += x.carryover[xx][y.name]
3417: #total_paper_balance += x.paper_balance[xx][y.name]
3418: #total_carryover_limit += x.contract_carryover_list[xx][y.name]
3419: #if total_carryover + total_paper_balance > total_carryover_limit:
3420: #for xx in x.district_list:
3421: #x.carryover[xx][y.name] = x.contract_carryover_list[xx][y.name]
3422: #y.tot_carryover += x.carryover[xx][y.name]
3423: #y.tot_new_alloc += (total_carryover + total_paper_balance - total_carryover_limit)
3424: #else:
3425: #if total_carryover_limit > 0.0:
3426: #carryover_frac = (total_carryover + total_paper_balance)/total_carryover_limit
3427: #else:
3428: #carryover_frac = 0.0
3429: #for xx in x.district_list:
3430: #x.carryover[xx][y.name] = carryover_frac*x.contract_carryover_list[xx][y.name]
3431:
3432: #y.tot_carryover += x.carryover[xx][y.name]
3433: #for xx in x.district_list:
3434: #x.paper_balance[xx][y.name] = 0.0
3435:
3436:
+3437: if y.name == 'tableA' and use_contract == 1:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_t_25, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 3437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__pyx_t_11) { } else { __pyx_t_3 = __pyx_t_11; goto __pyx_L369_bool_binop_done; } __pyx_t_11 = ((__pyx_v_use_contract == 1) != 0); __pyx_t_3 = __pyx_t_11; __pyx_L369_bool_binop_done:; if (__pyx_t_3) { /* … */ }
+3438: current_carryover_storage = self.sanluisstate.S[t] - y.tot_new_alloc - 40.0
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_25, __pyx_n_s_S); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_t); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = PyNumber_Subtract(__pyx_t_25, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyFloat_SubtractObjC(__pyx_t_26, __pyx_float_40_0, 40.0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF_SET(__pyx_v_current_carryover_storage, __pyx_t_27); __pyx_t_27 = 0;
+3439: fudge_factor = current_carryover_storage/y.tot_carryover
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyNumber_Divide(__pyx_v_current_carryover_storage, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_XDECREF_SET(__pyx_v_fudge_factor, __pyx_t_26); __pyx_t_26 = 0;
+3440: y.tot_carryover = self.sanluisstate.S[t] - y.tot_new_alloc - 40.0
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_t_26, __pyx_n_s_S); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_t); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_new_alloc); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_25 = PyNumber_Subtract(__pyx_t_26, __pyx_t_27); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyFloat_SubtractObjC(__pyx_t_25, __pyx_float_40_0, 40.0, 0, 0); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover, __pyx_t_27) < 0) __PYX_ERR(0, 3440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3441: sum_carryover = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_sum_carryover, __pyx_float_0_0);
+3442: for x in self.district_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_25 = __pyx_t_27; __Pyx_INCREF(__pyx_t_25); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_14 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3442, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3442, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3442, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_25); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3442, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3443: x.carryover[y.name] = x.carryover[y.name]*fudge_factor
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_26); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __pyx_t_26 = PyNumber_Multiply(__pyx_t_23, __pyx_v_fudge_factor); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_t_27, __pyx_t_26) < 0)) __PYX_ERR(0, 3443, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3444: sum_carryover+= x.carryover[y.name]
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_v_sum_carryover, __pyx_t_23); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_sum_carryover, __pyx_t_27); __pyx_t_27 = 0;
+3445: for x in self.private_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_27 = __pyx_t_25; __Pyx_INCREF(__pyx_t_27); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_27 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_14 = Py_TYPE(__pyx_t_27)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3445, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_27))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3445, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_27)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_27, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3445, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_27, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_14(__pyx_t_27); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3445, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3446: for xx in x.district_list:
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) { __pyx_t_23 = __pyx_t_25; __Pyx_INCREF(__pyx_t_23); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_16 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3446, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3446, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_23, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_15); __Pyx_INCREF(__pyx_t_25); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3446, __pyx_L1_error) #else __pyx_t_25 = PySequence_ITEM(__pyx_t_23, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif } } else { __pyx_t_25 = __pyx_t_16(__pyx_t_23); if (unlikely(!__pyx_t_25)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3446, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_25); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_25); __pyx_t_25 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3447: x.carryover[xx][y.name] = x.carryover[xx][y.name]*fudge_factor
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_xx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_25); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyNumber_Multiply(__pyx_t_2, __pyx_v_fudge_factor); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_2, __pyx_t_25) < 0)) __PYX_ERR(0, 3447, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3448: sum_carryover+= x.carryover[xx][y.name]
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_25); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyNumber_InPlaceAdd(__pyx_v_sum_carryover, __pyx_t_26); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF_SET(__pyx_v_sum_carryover, __pyx_t_25); __pyx_t_25 = 0;
+3449: for x in self.city_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_23 = __pyx_t_27; __Pyx_INCREF(__pyx_t_23); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3449, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3449, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3449, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_23, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_23); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3449, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3450: for xx in x.district_list:
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_25 = __pyx_t_27; __Pyx_INCREF(__pyx_t_25); __pyx_t_15 = 0; __pyx_t_16 = NULL; } else { __pyx_t_15 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_16 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3450, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_16)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_15); __Pyx_INCREF(__pyx_t_27); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3450, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_15); __Pyx_INCREF(__pyx_t_27); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 3450, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_16(__pyx_t_25); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3450, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3451: x.carryover[xx][y.name] = x.carryover[xx][y.name]*fudge_factor
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_t_27); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyNumber_Multiply(__pyx_t_2, __pyx_v_fudge_factor); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_26, __pyx_t_2, __pyx_t_27) < 0)) __PYX_ERR(0, 3451, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0;
+3452: sum_carryover+= x.carryover[xx][y.name]
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_v_xx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_27); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = PyNumber_InPlaceAdd(__pyx_v_sum_carryover, __pyx_t_26); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF_SET(__pyx_v_sum_carryover, __pyx_t_27); __pyx_t_27 = 0;
3453:
3454:
3455:
+3456: y.running_carryover = y.tot_carryover
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_running_carryover, __pyx_t_23) < 0) __PYX_ERR(0, 3456, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3457:
3458:
3459: #reset counter for delta contract adjustment for foregone pumping and uncontrolled releases
+3460: for z in self.pumping_turnback:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_23 = __pyx_t_21; __Pyx_INCREF(__pyx_t_23); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_12 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3460, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3460, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3460, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_12(__pyx_t_23); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3460, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3461: self.pumping_turnback[z] = 0.0
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (unlikely(PyObject_SetItem(__pyx_t_21, __pyx_v_z, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3461, __pyx_L1_error) __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3462: for z in self.allocation_losses:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_21 = __pyx_t_23; __Pyx_INCREF(__pyx_t_21); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_12 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3462, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_21))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3462, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_21)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_9); __Pyx_INCREF(__pyx_t_23); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3462, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_21, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_12(__pyx_t_21); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3462, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3463: self.allocation_losses[z] = 0.0
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_v_z, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3463, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
3464:
3465: ##Clear Canal Flows
3466: ##every day, we zero out the flows on each canal (i.e. no canal storage, no 'routing' of water on the canals)
3467: ###any flow released from a reservoir is assumed to arrive at its destimation immediately
3468: #Reset canals and recalfews_src turnouts & flows at each node
+3469: for z in self.canal_list:
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_list); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) { __pyx_t_23 = __pyx_t_21; __Pyx_INCREF(__pyx_t_23); __pyx_t_9 = 0; __pyx_t_12 = NULL; } else { __pyx_t_9 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_12 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3469, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3469, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_9); __Pyx_INCREF(__pyx_t_21); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3469, __pyx_L1_error) #else __pyx_t_21 = PySequence_ITEM(__pyx_t_23, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); #endif } } else { __pyx_t_21 = __pyx_t_12(__pyx_t_23); if (unlikely(!__pyx_t_21)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3469, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_21); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_21); __pyx_t_21 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+3470: counter = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_counter, __pyx_int_0);
+3471: for canal_loc in range(0, self.canal_district_len[z.name]):
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_27 = __Pyx_PyObject_GetItem(__pyx_t_21, __pyx_t_25); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = PyTuple_New(2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_25, 1, __pyx_t_27); __pyx_t_27 = 0; __pyx_t_27 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_25, NULL); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (likely(PyList_CheckExact(__pyx_t_27)) || PyTuple_CheckExact(__pyx_t_27)) { __pyx_t_25 = __pyx_t_27; __Pyx_INCREF(__pyx_t_25); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_27); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_14 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3471, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3471, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_27 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_27); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3471, __pyx_L1_error) #else __pyx_t_27 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); #endif } } else { __pyx_t_27 = __pyx_t_14(__pyx_t_25); if (unlikely(!__pyx_t_27)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3471, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_27); } __Pyx_XDECREF_SET(__pyx_v_canal_loc, __pyx_t_27); __pyx_t_27 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+3472: loc_id = self.canal_district[z.name][canal_loc]
__pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_27, __pyx_t_21); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyObject_GetItem(__pyx_t_26, __pyx_v_canal_loc); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_XDECREF_SET(__pyx_v_loc_id, __pyx_t_21); __pyx_t_21 = 0;
+3473: z.accounting(t, loc_id.key, counter)
__pyx_t_26 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_accounting); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __pyx_t_27 = __Pyx_PyObject_GetAttrStr(__pyx_v_loc_id, __pyx_n_s_key); if (unlikely(!__pyx_t_27)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_27); __pyx_t_2 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_26))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_26); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_26); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_26, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_t, __pyx_t_27, __pyx_v_counter}; __pyx_t_21 = __Pyx_PyFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_26)) { PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_v_t, __pyx_t_27, __pyx_v_counter}; __pyx_t_21 = __Pyx_PyCFunction_FastCall(__pyx_t_26, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_27); __pyx_t_27 = 0; } else #endif { __pyx_t_5 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_v_t); __Pyx_GIVEREF(__pyx_t_27); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_t_27); __Pyx_INCREF(__pyx_v_counter); __Pyx_GIVEREF(__pyx_v_counter); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_6, __pyx_v_counter); __pyx_t_27 = 0; __pyx_t_21 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_t_5, NULL); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
+3474: counter += 1
__pyx_t_21 = __Pyx_PyInt_AddObjC(__pyx_v_counter, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF_SET(__pyx_v_counter, __pyx_t_21); __pyx_t_21 = 0;
+3475: z.num_sites = self.canal_district_len[z.name]
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __pyx_t_26 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_t_21); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_26); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_z, __pyx_n_s_num_sites, __pyx_t_26) < 0) __PYX_ERR(0, 3475, __pyx_L1_error) __Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3476: z.turnout_use = [0.0 for _ in range(z.num_sites)]
{ /* enter inner scope */
__pyx_t_26 = PyList_New(0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_26);
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_25 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
if (likely(PyList_CheckExact(__pyx_t_25)) || PyTuple_CheckExact(__pyx_t_25)) {
__pyx_t_21 = __pyx_t_25; __Pyx_INCREF(__pyx_t_21); __pyx_t_13 = 0;
__pyx_t_14 = NULL;
} else {
__pyx_t_13 = -1; __pyx_t_21 = PyObject_GetIter(__pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_14 = Py_TYPE(__pyx_t_21)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3476, __pyx_L391_error)
}
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
for (;;) {
if (likely(!__pyx_t_14)) {
if (likely(PyList_CheckExact(__pyx_t_21))) {
if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_21)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_25 = PyList_GET_ITEM(__pyx_t_21, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3476, __pyx_L391_error)
#else
__pyx_t_25 = PySequence_ITEM(__pyx_t_21, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_25);
#endif
} else {
if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_21)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_25 = PyTuple_GET_ITEM(__pyx_t_21, __pyx_t_13); __Pyx_INCREF(__pyx_t_25); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3476, __pyx_L391_error)
#else
__pyx_t_25 = PySequence_ITEM(__pyx_t_21, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3476, __pyx_L391_error)
__Pyx_GOTREF(__pyx_t_25);
#endif
}
} else {
__pyx_t_25 = __pyx_t_14(__pyx_t_21);
if (unlikely(!__pyx_t_25)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 3476, __pyx_L391_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_25);
}
__Pyx_XDECREF_SET(__pyx_9genexpr15__pyx_v__, __pyx_t_25);
__pyx_t_25 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_26, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 3476, __pyx_L391_error)
}
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__Pyx_XDECREF(__pyx_9genexpr15__pyx_v__); __pyx_9genexpr15__pyx_v__ = 0;
goto __pyx_L394_exit_scope;
__pyx_L391_error:;
__Pyx_XDECREF(__pyx_9genexpr15__pyx_v__); __pyx_9genexpr15__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L394_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_z, __pyx_n_s_turnout_use, __pyx_t_26) < 0) __PYX_ERR(0, 3476, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3477: z.flow = [0.0 for _ in range(z.num_sites+1)]
{ /* enter inner scope */
__pyx_t_26 = PyList_New(0); if (unlikely(!__pyx_t_26)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_26);
__pyx_t_21 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_num_sites); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_21);
__pyx_t_25 = __Pyx_PyInt_AddObjC(__pyx_t_21, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
__pyx_t_21 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_25); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_21);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
if (likely(PyList_CheckExact(__pyx_t_21)) || PyTuple_CheckExact(__pyx_t_21)) {
__pyx_t_25 = __pyx_t_21; __Pyx_INCREF(__pyx_t_25); __pyx_t_13 = 0;
__pyx_t_14 = NULL;
} else {
__pyx_t_13 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_21); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_14 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3477, __pyx_L397_error)
}
__Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0;
for (;;) {
if (likely(!__pyx_t_14)) {
if (likely(PyList_CheckExact(__pyx_t_25))) {
if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_25)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_21 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_21); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3477, __pyx_L397_error)
#else
__pyx_t_21 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_21);
#endif
} else {
if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_25)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_21 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_13); __Pyx_INCREF(__pyx_t_21); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 3477, __pyx_L397_error)
#else
__pyx_t_21 = PySequence_ITEM(__pyx_t_25, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 3477, __pyx_L397_error)
__Pyx_GOTREF(__pyx_t_21);
#endif
}
} else {
__pyx_t_21 = __pyx_t_14(__pyx_t_25);
if (unlikely(!__pyx_t_21)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 3477, __pyx_L397_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_21);
}
__Pyx_XDECREF_SET(__pyx_9genexpr16__pyx_v__, __pyx_t_21);
__pyx_t_21 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_26, (PyObject*)__pyx_float_0_0))) __PYX_ERR(0, 3477, __pyx_L397_error)
}
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_XDECREF(__pyx_9genexpr16__pyx_v__); __pyx_9genexpr16__pyx_v__ = 0;
goto __pyx_L400_exit_scope;
__pyx_L397_error:;
__Pyx_XDECREF(__pyx_9genexpr16__pyx_v__); __pyx_9genexpr16__pyx_v__ = 0;
goto __pyx_L1_error;
__pyx_L400_exit_scope:;
} /* exit inner scope */
if (__Pyx_PyObject_SetAttrStr(__pyx_v_z, __pyx_n_s_flow, __pyx_t_26) < 0) __PYX_ERR(0, 3477, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_26); __pyx_t_26 = 0;
+3478: z.locked = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_z, __pyx_n_s_locked, __pyx_int_0) < 0) __PYX_ERR(0, 3478, __pyx_L1_error)
3479:
3480:
+3481: return swp_release, cvp_release, swp_release2, cvp_release2, swp_pump, cvp_pump
__Pyx_XDECREF(__pyx_r); __pyx_t_23 = PyTuple_New(6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 3481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_INCREF(__pyx_v_swp_release); __Pyx_GIVEREF(__pyx_v_swp_release); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_v_swp_release); __Pyx_INCREF(__pyx_v_cvp_release); __Pyx_GIVEREF(__pyx_v_cvp_release); PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_v_cvp_release); __Pyx_INCREF(__pyx_v_swp_release2); __Pyx_GIVEREF(__pyx_v_swp_release2); PyTuple_SET_ITEM(__pyx_t_23, 2, __pyx_v_swp_release2); __Pyx_INCREF(__pyx_v_cvp_release2); __Pyx_GIVEREF(__pyx_v_cvp_release2); PyTuple_SET_ITEM(__pyx_t_23, 3, __pyx_v_cvp_release2); __Pyx_INCREF(__pyx_v_swp_pump); __Pyx_GIVEREF(__pyx_v_swp_pump); PyTuple_SET_ITEM(__pyx_t_23, 4, __pyx_v_swp_pump); __Pyx_INCREF(__pyx_v_cvp_pump); __Pyx_GIVEREF(__pyx_v_cvp_pump); PyTuple_SET_ITEM(__pyx_t_23, 5, __pyx_v_cvp_pump); __pyx_r = __pyx_t_23; __pyx_t_23 = 0; goto __pyx_L0;
3482:
3483: #####################################################################################################################
3484: #####################################################################################################################
3485: #####################################################################################################################
3486:
3487: #####################################################################################################################
3488: ############################# Federal/State San Luis Storage Sharing #############################################
3489: #####################################################################################################################
+3490: def step_san_luis(self, t, m, da):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_53step_san_luis(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_53step_san_luis = {"step_san_luis", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_53step_san_luis, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_53step_san_luis(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_da = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("step_san_luis (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_m,&__pyx_n_s_da,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("step_san_luis", 1, 4, 4, 1); __PYX_ERR(0, 3490, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("step_san_luis", 1, 4, 4, 2); __PYX_ERR(0, 3490, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_da)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("step_san_luis", 1, 4, 4, 3); __PYX_ERR(0, 3490, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "step_san_luis") < 0)) __PYX_ERR(0, 3490, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_m = values[2];
__pyx_v_da = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("step_san_luis", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3490, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.step_san_luis", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_52step_san_luis(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_m, __pyx_v_da);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_52step_san_luis(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_m, PyObject *__pyx_v_da) {
PyObject *__pyx_v_extra_storage_s = NULL;
PyObject *__pyx_v_extra_space_s = NULL;
PyObject *__pyx_v_extra_storage_f = NULL;
PyObject *__pyx_v_extra_space_f = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__50)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("step_san_luis", 0);
__Pyx_TraceCall("step_san_luis", __pyx_f[0], 3490, 0, __PYX_ERR(0, 3490, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.step_san_luis", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_extra_storage_s);
__Pyx_XDECREF(__pyx_v_extra_space_s);
__Pyx_XDECREF(__pyx_v_extra_storage_f);
__Pyx_XDECREF(__pyx_v_extra_space_f);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__115 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_m, __pyx_n_s_da, __pyx_n_s_extra_storage_s, __pyx_n_s_extra_space_s, __pyx_n_s_extra_storage_f, __pyx_n_s_extra_space_f); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 3490, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__115);
__Pyx_GIVEREF(__pyx_tuple__115);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_53step_san_luis, 0, __pyx_n_s_Model_step_san_luis, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3490, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_step_san_luis, __pyx_t_2) < 0) __PYX_ERR(0, 3490, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(4, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_step_san_luis, 3490, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 3490, __pyx_L1_error)
3491: #This function allows the state/federal projects to take advantage of any unused space the other may have so that storage
3492: #volumes can temporarily go above each project's 50% share of the storage cpacity at san luis
+3493: self.sanluisfederal.S[t+1] = self.sanluisfederal.S[t] + self.trp_pumping[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_trp_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_S); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_t_2) < 0)) __PYX_ERR(0, 3493, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3494: self.sanluisstate.S[t+1] = self.sanluisstate.S[t] + self.hro_pumping[t]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_hro_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_1, __pyx_t_3) < 0)) __PYX_ERR(0, 3494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3495: if m == 10 and da == 1:
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_10, 10, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+3496: self.ytd_pump_trp[t] = self.trp_pumping[t]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_trp_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_trp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_t, __pyx_t_1) < 0)) __PYX_ERR(0, 3496, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3497: self.ytd_pump_hro[t] = self.hro_pumping[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_hro_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_hro); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_t, __pyx_t_3) < 0)) __PYX_ERR(0, 3497, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3498: else:
+3499: self.ytd_pump_trp[t] = self.trp_pumping[t] + self.ytd_pump_trp[t-1]
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_trp_pumping); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_trp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_trp); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_t, __pyx_t_2) < 0)) __PYX_ERR(0, 3499, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3500: self.ytd_pump_hro[t] = self.hro_pumping[t] + self.ytd_pump_hro[t-1]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_hro_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_hro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_ytd_pump_hro); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_t, __pyx_t_1) < 0)) __PYX_ERR(0, 3500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
3501:
+3502: if self.sanluisstate.S[t+1] > 1021.0:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_float_1021_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3502, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L6; }
+3503: extra_storage_s = self.sanluisstate.S[t+1] - 1021.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractObjC(__pyx_t_3, __pyx_float_1021_0, 1021.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_extra_storage_s = __pyx_t_1; __pyx_t_1 = 0;
+3504: extra_space_s = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_space_s = __pyx_float_0_0;
3505: else:
3506: #extra_space_s = 0.0
+3507: extra_space_s = 1021.0 - self.sanluisstate.S[t+1]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1021_0, __pyx_t_6, 1021.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3507, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_extra_space_s = __pyx_t_1;
__pyx_t_1 = 0;
+3508: extra_storage_s = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_storage_s = __pyx_float_0_0;
}
__pyx_L6:;
+3509: if self.sanluisfederal.S[t+1] > 1021.0:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_float_1021_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3509, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L7; }
+3510: extra_storage_f = self.sanluisfederal.S[t+1] - 1021.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractObjC(__pyx_t_6, __pyx_float_1021_0, 1021.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_extra_storage_f = __pyx_t_1; __pyx_t_1 = 0;
+3511: extra_space_f = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_space_f = __pyx_float_0_0;
3512: else:
3513: #extra_space_f = 0.0
+3514: extra_space_f = 1021.0 - self.sanluisfederal.S[t+1]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1021_0, __pyx_t_3, 1021.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3514, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_extra_space_f = __pyx_t_1;
__pyx_t_1 = 0;
+3515: extra_storage_f = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_extra_storage_f = __pyx_float_0_0;
}
__pyx_L7:;
+3516: if extra_storage_s > 0.0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_extra_storage_s, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3516, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L8; }
+3517: self.sanluisstate.fcr = max(extra_storage_s - extra_space_f,0.0)
__pyx_t_7 = 0.0;
__pyx_t_1 = PyNumber_Subtract(__pyx_v_extra_storage_s, __pyx_v_extra_space_f); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_4) {
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_t_2;
__pyx_t_2 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_3 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_fcr, __pyx_t_1) < 0) __PYX_ERR(0, 3517, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3518: else:
+3519: self.sanluisstate.fcr = 0.0
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_fcr, __pyx_float_0_0) < 0) __PYX_ERR(0, 3519, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__pyx_L8:;
+3520: if extra_storage_f > 0.0:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_extra_storage_f, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3520, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L9; }
+3521: self.sanluisfederal.fcr = max(extra_storage_f - extra_space_s,0.0)
__pyx_t_7 = 0.0;
__pyx_t_3 = PyNumber_Subtract(__pyx_v_extra_storage_f, __pyx_v_extra_space_s); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_4) {
__pyx_t_6 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = __pyx_t_6;
__pyx_t_6 = 0;
} else {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_1 = __pyx_t_3;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_fcr, __pyx_t_3) < 0) __PYX_ERR(0, 3521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3522: else:
+3523: self.sanluisfederal.fcr = 0.0
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3523, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_fcr, __pyx_float_0_0) < 0) __PYX_ERR(0, 3523, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L9:;
+3524: self.sanluisstate.S[t+1] -= self.sanluisstate.fcr
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fcr); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceSubtract(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_t_1, __pyx_t_2) < 0)) __PYX_ERR(0, 3524, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3525: self.sanluisfederal.S[t+1] -= self.sanluisfederal.fcr
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_S); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_fcr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_3, __pyx_t_8) < 0)) __PYX_ERR(0, 3525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3526: return max(min(extra_storage_s, extra_space_f), 0.0), max(min(extra_storage_f, extra_space_s),0.0)
__Pyx_XDECREF(__pyx_r); __pyx_t_7 = 0.0; __Pyx_INCREF(__pyx_v_extra_space_f); __pyx_t_1 = __pyx_v_extra_space_f; __Pyx_INCREF(__pyx_v_extra_storage_s); __pyx_t_3 = __pyx_v_extra_storage_s; __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3526, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_4) { __pyx_t_6 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __pyx_t_6; __pyx_t_6 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = 0.0; __Pyx_INCREF(__pyx_v_extra_space_s); __pyx_t_1 = __pyx_v_extra_space_s; __Pyx_INCREF(__pyx_v_extra_storage_f); __pyx_t_6 = __pyx_v_extra_storage_f; __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3526, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_6); __pyx_t_3 = __pyx_t_6; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyObject_RichCompare(__pyx_t_6, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { __pyx_t_2 = PyFloat_FromDouble(__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3527:
+3528: def find_san_luis_space(self, t, swp_pump_max, cvp_pump_max):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_55find_san_luis_space(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_55find_san_luis_space = {"find_san_luis_space", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_55find_san_luis_space, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_55find_san_luis_space(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_swp_pump_max = 0;
PyObject *__pyx_v_cvp_pump_max = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_san_luis_space (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_swp_pump_max,&__pyx_n_s_cvp_pump_max,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_san_luis_space", 1, 4, 4, 1); __PYX_ERR(0, 3528, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_pump_max)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_san_luis_space", 1, 4, 4, 2); __PYX_ERR(0, 3528, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_pump_max)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_san_luis_space", 1, 4, 4, 3); __PYX_ERR(0, 3528, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_san_luis_space") < 0)) __PYX_ERR(0, 3528, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_swp_pump_max = values[2];
__pyx_v_cvp_pump_max = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_san_luis_space", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3528, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_san_luis_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_54find_san_luis_space(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_swp_pump_max, __pyx_v_cvp_pump_max);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_54find_san_luis_space(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_swp_pump_max, PyObject *__pyx_v_cvp_pump_max) {
PyObject *__pyx_v_swp_pump = NULL;
PyObject *__pyx_v_cvp_pump = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__51)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_san_luis_space", 0);
__Pyx_TraceCall("find_san_luis_space", __pyx_f[0], 3528, 0, __PYX_ERR(0, 3528, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_san_luis_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_swp_pump);
__Pyx_XDECREF(__pyx_v_cvp_pump);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__116 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_swp_pump_max, __pyx_n_s_cvp_pump_max, __pyx_n_s_swp_pump, __pyx_n_s_cvp_pump); if (unlikely(!__pyx_tuple__116)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__116);
__Pyx_GIVEREF(__pyx_tuple__116);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_55find_san_luis_space, 0, __pyx_n_s_Model_find_san_luis_space, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_san_luis_space, __pyx_t_2) < 0) __PYX_ERR(0, 3528, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_san_luis_space, 3528, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 3528, __pyx_L1_error)
3529: #if there is no additional storage in san luis, send toggle variable to the northern model to turn 'off'
3530: #pumping at teh delta (so no wasted pumping if there is no room in san luis)
+3531: if self.sanluisstate.S[t+1] + swp_pump_max > 1020.0:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_swp_pump_max); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+3532: swp_pump = 1021.0 - self.sanluisstate.S[t+1]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisstate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_S); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1021_0, __pyx_t_2, 1021.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_swp_pump = __pyx_t_3; __pyx_t_3 = 0;
3533: else:
+3534: swp_pump = 999.0
/*else*/ {
__Pyx_INCREF(__pyx_float_999_0);
__pyx_v_swp_pump = __pyx_float_999_0;
}
__pyx_L3:;
+3535: if self.sanluisfederal.S[t+1] + cvp_pump_max > 1020.0:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_v_cvp_pump_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3535, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L4; }
+3536: cvp_pump = 1021.0 - self.sanluisfederal.S[t+1]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sanluisfederal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1021_0, __pyx_t_2, 1021.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_cvp_pump = __pyx_t_1; __pyx_t_1 = 0;
3537: else:
+3538: cvp_pump = 999.0
/*else*/ {
__Pyx_INCREF(__pyx_float_999_0);
__pyx_v_cvp_pump = __pyx_float_999_0;
}
__pyx_L4:;
3539:
+3540: return swp_pump, cvp_pump
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_swp_pump); __Pyx_GIVEREF(__pyx_v_swp_pump); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_swp_pump); __Pyx_INCREF(__pyx_v_cvp_pump); __Pyx_GIVEREF(__pyx_v_cvp_pump); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_cvp_pump); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
3541:
+3542: def estimate_project_pumping(self, t, proj_surplus, max_pumping, swp_AS, cvp_AS, max_tax_free, flood_release, wyt):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_57estimate_project_pumping(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_57estimate_project_pumping = {"estimate_project_pumping", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_57estimate_project_pumping, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_57estimate_project_pumping(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_proj_surplus = 0;
PyObject *__pyx_v_max_pumping = 0;
PyObject *__pyx_v_swp_AS = 0;
PyObject *__pyx_v_cvp_AS = 0;
PyObject *__pyx_v_max_tax_free = 0;
PyObject *__pyx_v_flood_release = 0;
PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("estimate_project_pumping (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_proj_surplus,&__pyx_n_s_max_pumping,&__pyx_n_s_swp_AS,&__pyx_n_s_cvp_AS,&__pyx_n_s_max_tax_free,&__pyx_n_s_flood_release,&__pyx_n_s_wyt,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 1); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_proj_surplus)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 2); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_pumping)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 3); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_swp_AS)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 4); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cvp_AS)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 5); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tax_free)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 6); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flood_release)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 7); __PYX_ERR(0, 3542, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, 8); __PYX_ERR(0, 3542, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "estimate_project_pumping") < 0)) __PYX_ERR(0, 3542, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_proj_surplus = values[2];
__pyx_v_max_pumping = values[3];
__pyx_v_swp_AS = values[4];
__pyx_v_cvp_AS = values[5];
__pyx_v_max_tax_free = values[6];
__pyx_v_flood_release = values[7];
__pyx_v_wyt = values[8];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("estimate_project_pumping", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3542, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.estimate_project_pumping", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_56estimate_project_pumping(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_proj_surplus, __pyx_v_max_pumping, __pyx_v_swp_AS, __pyx_v_cvp_AS, __pyx_v_max_tax_free, __pyx_v_flood_release, __pyx_v_wyt);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_56estimate_project_pumping(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_proj_surplus, PyObject *__pyx_v_max_pumping, PyObject *__pyx_v_swp_AS, PyObject *__pyx_v_cvp_AS, PyObject *__pyx_v_max_tax_free, PyObject *__pyx_v_flood_release, PyObject *__pyx_v_wyt) {
PyObject *__pyx_v_dowy = NULL;
PyObject *__pyx_v_year_index = NULL;
PyObject *__pyx_v_tax_free_frac = NULL;
PyObject *__pyx_v_excess_storage = NULL;
PyObject *__pyx_v_available_storage = NULL;
PyObject *__pyx_v_max_pump = NULL;
PyObject *__pyx_v_expected_pumping = NULL;
PyObject *__pyx_v_key = NULL;
long __pyx_v_monthloop;
PyObject *__pyx_v_daysmonth = NULL;
PyObject *__pyx_v_dowyeom = NULL;
PyObject *__pyx_v_running_days = NULL;
PyObject *__pyx_v_start_m = NULL;
PyObject *__pyx_v_end_m = NULL;
PyObject *__pyx_v_total_tax_free = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__52)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("estimate_project_pumping", 0);
__Pyx_TraceCall("estimate_project_pumping", __pyx_f[0], 3542, 0, __PYX_ERR(0, 3542, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.estimate_project_pumping", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_dowy);
__Pyx_XDECREF(__pyx_v_year_index);
__Pyx_XDECREF(__pyx_v_tax_free_frac);
__Pyx_XDECREF(__pyx_v_excess_storage);
__Pyx_XDECREF(__pyx_v_available_storage);
__Pyx_XDECREF(__pyx_v_max_pump);
__Pyx_XDECREF(__pyx_v_expected_pumping);
__Pyx_XDECREF(__pyx_v_key);
__Pyx_XDECREF(__pyx_v_daysmonth);
__Pyx_XDECREF(__pyx_v_dowyeom);
__Pyx_XDECREF(__pyx_v_running_days);
__Pyx_XDECREF(__pyx_v_start_m);
__Pyx_XDECREF(__pyx_v_end_m);
__Pyx_XDECREF(__pyx_v_total_tax_free);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__117 = PyTuple_Pack(24, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_proj_surplus, __pyx_n_s_max_pumping, __pyx_n_s_swp_AS, __pyx_n_s_cvp_AS, __pyx_n_s_max_tax_free, __pyx_n_s_flood_release, __pyx_n_s_wyt, __pyx_n_s_dowy, __pyx_n_s_year_index, __pyx_n_s_tax_free_frac, __pyx_n_s_excess_storage, __pyx_n_s_available_storage, __pyx_n_s_max_pump, __pyx_n_s_expected_pumping, __pyx_n_s_key, __pyx_n_s_monthloop, __pyx_n_s_daysmonth, __pyx_n_s_dowyeom, __pyx_n_s_running_days, __pyx_n_s_start_m, __pyx_n_s_end_m, __pyx_n_s_total_tax_free); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 3542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__117);
__Pyx_GIVEREF(__pyx_tuple__117);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_57estimate_project_pumping, 0, __pyx_n_s_Model_estimate_project_pumping, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3542, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_estimate_project_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 3542, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(9, 0, 24, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_estimate_project_pumping, 3542, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 3542, __pyx_L1_error)
+3543: dowy = self.dowy[t]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3543, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_dowy = __pyx_t_2; __pyx_t_2 = 0;
+3544: year_index = self.year[t] - self.starting_year
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_year_index = __pyx_t_3; __pyx_t_3 = 0;
3545:
3546: # month_evaluate = m - 1
+3547: tax_free_frac = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_tax_free_frac = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+3548: excess_storage = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_excess_storage = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+3549: available_storage = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_available_storage = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+3550: max_pump = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3550, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_max_pump = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+3551: expected_pumping = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_expected_pumping = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+3552: available_storage['swp'] = swp_AS
if (unlikely(PyDict_SetItem(__pyx_v_available_storage, __pyx_n_u_swp, __pyx_v_swp_AS) < 0)) __PYX_ERR(0, 3552, __pyx_L1_error)
+3553: available_storage['cvp'] = cvp_AS
if (unlikely(PyDict_SetItem(__pyx_v_available_storage, __pyx_n_u_cvp, __pyx_v_cvp_AS) < 0)) __PYX_ERR(0, 3553, __pyx_L1_error)
+3554: max_pump['swp'] = 6680.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Multiply(__pyx_float_6680_0, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 3554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3555: max_pump['cvp'] = 4300.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Multiply(__pyx_float_4300_0, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_cvp, __pyx_t_3) < 0)) __PYX_ERR(0, 3555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3556: expected_pumping['swp'] = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyDict_SetItem(__pyx_v_expected_pumping, __pyx_n_u_swp, __pyx_t_3) < 0)) __PYX_ERR(0, 3556, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3557: expected_pumping['swp']['taxed']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_taxed, __pyx_t_3) < 0)) __PYX_ERR(0, 3557, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3558: expected_pumping['swp']['untaxed']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_12); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_untaxed, __pyx_t_3) < 0)) __PYX_ERR(0, 3558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3559: expected_pumping['swp']['gains']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_gains, __pyx_t_3) < 0)) __PYX_ERR(0, 3559, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3560: expected_pumping['cvp'] = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3560, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyDict_SetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp, __pyx_t_3) < 0)) __PYX_ERR(0, 3560, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3561: expected_pumping['cvp']['taxed']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_12); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3561, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_taxed, __pyx_t_3) < 0)) __PYX_ERR(0, 3561, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3562: expected_pumping['cvp']['untaxed']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3562, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_untaxed, __pyx_t_3) < 0)) __PYX_ERR(0, 3562, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3563: expected_pumping['cvp']['gains']= np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_1)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_12); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_gains, __pyx_t_3) < 0)) __PYX_ERR(0, 3563, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3564:
+3565: for key in ['swp', 'cvp']:
__pyx_t_3 = __pyx_tuple__53; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 2) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 3565, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_key, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; /* … */ __pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_u_swp, __pyx_n_u_cvp); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 3565, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__53); __Pyx_GIVEREF(__pyx_tuple__53);
+3566: tax_free_frac[key] = min(max(available_storage[key]/max_tax_free[wyt][key][dowy], 0.0), 1.0)
__pyx_t_5 = 1.0;
__pyx_t_6 = 0.0;
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_available_storage, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_max_tax_free, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_9) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_1 = __pyx_t_7;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_INCREF(__pyx_t_1);
__pyx_t_7 = __pyx_t_1;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_9) {
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
__pyx_t_2 = 0;
} else {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_1 = __pyx_t_7;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_tax_free_frac, __pyx_v_key, __pyx_t_7) < 0)) __PYX_ERR(0, 3566, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3567: excess_storage[key] = max(available_storage[key] - max_tax_free[wyt][key][dowy], 0.0)
__pyx_t_5 = 0.0;
__pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_available_storage, __pyx_v_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_max_tax_free, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Subtract(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_7, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_9) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_excess_storage, __pyx_v_key, __pyx_t_2) < 0)) __PYX_ERR(0, 3567, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3568: # if dowy < 123:
3569: # total_taxed = (123 + 92 - dowy)*max_pump[key] - (max_tax_free[wyt][key][dowy] - max_tax_free[wyt][key][122]) - max_tax_free[wyt][key][274]
3570: # elif dowy < 274:
3571: # total_taxed = (273 + 92 - dowy)*max_pump[key] - max_tax_free[wyt][key][dowy]
3572: # else:
3573: # total_taxed = (365 - dowy)*max_pump[key] - max_tax_free[wyt][key][dowy]
3574:
3575: #if month_evaluate > 8:
+3576: for monthloop in range(0, 12):
for (__pyx_t_10 = 0; __pyx_t_10 < 12; __pyx_t_10+=1) {
__pyx_v_monthloop = __pyx_t_10;
3577: # if month already happened this year, we are looping to next year
+3578: if self.dowy_eom[year_index][monthloop] < dowy:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_v_dowy, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3578, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_9) { /* … */ goto __pyx_L7; }
+3579: daysmonth = self.days_in_month[year_index + 1][monthloop]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_2); __pyx_t_2 = 0;
+3580: dowyeom = self.dowy_eom[year_index + 1][monthloop]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_1, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_dowyeom, __pyx_t_8); __pyx_t_8 = 0;
+3581: running_days = 365 - dowy + dowyeom
__pyx_t_8 = __Pyx_PyInt_SubtractCObj(__pyx_int_365, __pyx_v_dowy, 0x16D, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyNumber_Add(__pyx_t_8, __pyx_v_dowyeom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_running_days, __pyx_t_1); __pyx_t_1 = 0;
3582:
3583: else:
+3584: daysmonth = self.days_in_month[year_index][monthloop]
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3584, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_1);
__pyx_t_1 = 0;
+3585: dowyeom = self.dowy_eom[year_index][monthloop]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3585, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_dowyeom, __pyx_t_1); __pyx_t_1 = 0;
+3586: running_days = dowyeom - dowy
__pyx_t_1 = PyNumber_Subtract(__pyx_v_dowyeom, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3586, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_running_days, __pyx_t_1); __pyx_t_1 = 0; } __pyx_L7:;
3587:
3588: # max_tax_free starts with total max_tax_free for water year at index 0, then amount left after day 0 in index 1, etc. So total_tax_free for October is index 0 minus index[31], November is [31]-[61],...
+3589: start_m = dowyeom - daysmonth + 1
__pyx_t_1 = PyNumber_Subtract(__pyx_v_dowyeom, __pyx_v_daysmonth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_start_m, __pyx_t_8); __pyx_t_8 = 0;
+3590: end_m = dowyeom + 1
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_dowyeom, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3590, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_end_m, __pyx_t_8); __pyx_t_8 = 0;
+3591: total_tax_free = max_tax_free[wyt][key][start_m] - max_tax_free[wyt][key][end_m]
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_max_tax_free, __pyx_v_wyt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_start_m); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_max_tax_free, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_end_m); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3591, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_total_tax_free, __pyx_t_2); __pyx_t_2 = 0;
3592:
3593: #if excess_storage[key] > total_taxed and dowy < self.dowy_eom[monthloop]:
+3594: if monthloop == 3 or monthloop == 4:
switch (__pyx_v_monthloop) {
case 3:
case 4:
/* … */
break;
default:
+3595: max_pump['swp'] = 750.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Multiply(__pyx_float_750_0, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_swp, __pyx_t_1) < 0)) __PYX_ERR(0, 3595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3596: max_pump['cvp'] = 750.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_float_750_0, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_cvp, __pyx_t_2) < 0)) __PYX_ERR(0, 3596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3597: else:
+3598: max_pump['swp'] = 6680.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Multiply(__pyx_float_6680_0, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_swp, __pyx_t_1) < 0)) __PYX_ERR(0, 3598, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3599: max_pump['cvp'] = 4300.0*cfs_tafd
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_float_4300_0, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_cvp, __pyx_t_2) < 0)) __PYX_ERR(0, 3599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; break; }
3600:
3601: # account for omr rules
+3602: if t > self.omr_rule_start - running_days:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_omr_rule_start); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_v_running_days); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_v_t, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_9) { /* … */ }
+3603: max_pump['swp'] = min(max_pump['swp'], max_pumping['swp'][monthloop]/daysmonth)
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_max_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_daysmonth); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_max_pump, __pyx_n_u_swp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3603, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 3603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3604: max_pump['cvp'] = min(max_pump['cvp'], max_pumping['cvp'][monthloop]/daysmonth)
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_max_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_max_pump, __pyx_n_u_cvp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3604, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pump, __pyx_n_u_cvp, __pyx_t_2) < 0)) __PYX_ERR(0, 3604, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3605:
3606:
+3607: expected_pumping[key]['taxed'][monthloop] = max_pump[key]*daysmonth
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_max_pump, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyNumber_Multiply(__pyx_t_2, __pyx_v_daysmonth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_taxed); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_8, __pyx_v_monthloop, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3608: expected_pumping[key]['untaxed'][monthloop] = min(max(proj_surplus[key][monthloop] + flood_release[key]*daysmonth,total_tax_free), max_pump[key]*daysmonth)
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_max_pump, __pyx_v_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_Multiply(__pyx_t_1, __pyx_v_daysmonth); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_total_tax_free); __pyx_t_1 = __pyx_v_total_tax_free; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_proj_surplus, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_flood_release, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = PyNumber_Multiply(__pyx_t_2, __pyx_v_daysmonth); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_7, __pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3608, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_9) { __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_11 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_t_11); __pyx_t_1 = __pyx_t_11; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3608, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_9) { __Pyx_INCREF(__pyx_t_8); __pyx_t_11 = __pyx_t_8; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __pyx_t_11; __Pyx_INCREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_v_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_untaxed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, __pyx_v_monthloop, __pyx_t_8, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3609: expected_pumping[key]['gains'][monthloop] = min(proj_surplus[key][monthloop] + flood_release[key]*daysmonth, max_pump[key]*daysmonth)
__pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_max_pump, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_proj_surplus, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_flood_release, __pyx_v_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_11, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_t_1, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3609, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_9) { __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_gains); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_8, __pyx_v_monthloop, __pyx_t_1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
3610:
+3611: return expected_pumping
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_expected_pumping); __pyx_r = __pyx_v_expected_pumping; goto __pyx_L0;
3612:
3613:
3614:
+3615: def find_pumping_release(self, m, da, year_index, start_storage, pump_max, month_demand, month_demand_must_fill, allocation, expected_pumping, flood_supply, available_storage, flood_storage, projected_carryover, current_carryover, max_tax_free, wyt, t, key):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_59find_pumping_release(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_59find_pumping_release = {"find_pumping_release", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_59find_pumping_release, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_59find_pumping_release(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_da = 0;
PyObject *__pyx_v_year_index = 0;
PyObject *__pyx_v_start_storage = 0;
CYTHON_UNUSED PyObject *__pyx_v_pump_max = 0;
PyObject *__pyx_v_month_demand = 0;
PyObject *__pyx_v_month_demand_must_fill = 0;
CYTHON_UNUSED PyObject *__pyx_v_allocation = 0;
PyObject *__pyx_v_expected_pumping = 0;
CYTHON_UNUSED PyObject *__pyx_v_flood_supply = 0;
PyObject *__pyx_v_available_storage = 0;
CYTHON_UNUSED PyObject *__pyx_v_flood_storage = 0;
PyObject *__pyx_v_projected_carryover = 0;
PyObject *__pyx_v_current_carryover = 0;
CYTHON_UNUSED PyObject *__pyx_v_max_tax_free = 0;
PyObject *__pyx_v_wyt = 0;
CYTHON_UNUSED PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_key = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_pumping_release (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_m,&__pyx_n_s_da,&__pyx_n_s_year_index,&__pyx_n_s_start_storage,&__pyx_n_s_pump_max,&__pyx_n_s_month_demand,&__pyx_n_s_month_demand_must_fill,&__pyx_n_s_allocation,&__pyx_n_s_expected_pumping,&__pyx_n_s_flood_supply,&__pyx_n_s_available_storage,&__pyx_n_s_flood_storage,&__pyx_n_s_projected_carryover,&__pyx_n_s_current_carryover,&__pyx_n_s_max_tax_free,&__pyx_n_s_wyt,&__pyx_n_s_t,&__pyx_n_s_key,0};
PyObject* values[19] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
CYTHON_FALLTHROUGH;
case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
CYTHON_FALLTHROUGH;
case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
CYTHON_FALLTHROUGH;
case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
CYTHON_FALLTHROUGH;
case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
CYTHON_FALLTHROUGH;
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 1); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_da)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 2); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year_index)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 3); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_start_storage)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 4); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_pump_max)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 5); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_month_demand)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 6); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_month_demand_must_fill)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 7); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_allocation)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 8); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_expected_pumping)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 9); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flood_supply)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 10); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 11:
if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_available_storage)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 11); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 12:
if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flood_storage)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 12); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 13:
if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_projected_carryover)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 13); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 14:
if (likely((values[14] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_current_carryover)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 14); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 15:
if (likely((values[15] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_max_tax_free)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 15); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 16:
if (likely((values[16] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 16); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 17:
if (likely((values[17] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 17); __PYX_ERR(0, 3615, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 18:
if (likely((values[18] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, 18); __PYX_ERR(0, 3615, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_pumping_release") < 0)) __PYX_ERR(0, 3615, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 19) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
values[14] = PyTuple_GET_ITEM(__pyx_args, 14);
values[15] = PyTuple_GET_ITEM(__pyx_args, 15);
values[16] = PyTuple_GET_ITEM(__pyx_args, 16);
values[17] = PyTuple_GET_ITEM(__pyx_args, 17);
values[18] = PyTuple_GET_ITEM(__pyx_args, 18);
}
__pyx_v_self = values[0];
__pyx_v_m = values[1];
__pyx_v_da = values[2];
__pyx_v_year_index = values[3];
__pyx_v_start_storage = values[4];
__pyx_v_pump_max = values[5];
__pyx_v_month_demand = values[6];
__pyx_v_month_demand_must_fill = values[7];
__pyx_v_allocation = values[8];
__pyx_v_expected_pumping = values[9];
__pyx_v_flood_supply = values[10];
__pyx_v_available_storage = values[11];
__pyx_v_flood_storage = values[12];
__pyx_v_projected_carryover = values[13];
__pyx_v_current_carryover = values[14];
__pyx_v_max_tax_free = values[15];
__pyx_v_wyt = values[16];
__pyx_v_t = values[17];
__pyx_v_key = values[18];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_pumping_release", 1, 19, 19, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3615, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_pumping_release", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_58find_pumping_release(__pyx_self, __pyx_v_self, __pyx_v_m, __pyx_v_da, __pyx_v_year_index, __pyx_v_start_storage, __pyx_v_pump_max, __pyx_v_month_demand, __pyx_v_month_demand_must_fill, __pyx_v_allocation, __pyx_v_expected_pumping, __pyx_v_flood_supply, __pyx_v_available_storage, __pyx_v_flood_storage, __pyx_v_projected_carryover, __pyx_v_current_carryover, __pyx_v_max_tax_free, __pyx_v_wyt, __pyx_v_t, __pyx_v_key);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_58find_pumping_release(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_m, PyObject *__pyx_v_da, PyObject *__pyx_v_year_index, PyObject *__pyx_v_start_storage, CYTHON_UNUSED PyObject *__pyx_v_pump_max, PyObject *__pyx_v_month_demand, PyObject *__pyx_v_month_demand_must_fill, CYTHON_UNUSED PyObject *__pyx_v_allocation, PyObject *__pyx_v_expected_pumping, CYTHON_UNUSED PyObject *__pyx_v_flood_supply, PyObject *__pyx_v_available_storage, CYTHON_UNUSED PyObject *__pyx_v_flood_storage, PyObject *__pyx_v_projected_carryover, PyObject *__pyx_v_current_carryover, CYTHON_UNUSED PyObject *__pyx_v_max_tax_free, PyObject *__pyx_v_wyt, CYTHON_UNUSED PyObject *__pyx_v_t, PyObject *__pyx_v_key) {
PyObject *__pyx_v_month_evaluate = NULL;
PyObject *__pyx_v_expected_demands = NULL;
PyObject *__pyx_v_expected_inflow = NULL;
PyObject *__pyx_v_expected_untaxed = NULL;
PyObject *__pyx_v_expected_taxed = NULL;
PyObject *__pyx_v_net_monthly = NULL;
PyObject *__pyx_v_next_month_storage = NULL;
PyObject *__pyx_v_this_month_days = NULL;
PyObject *__pyx_v_article21 = NULL;
PyObject *__pyx_v_numdays_fillup = NULL;
PyObject *__pyx_v_numdays_fillup_next_year = NULL;
PyObject *__pyx_v_total_days_remaining = NULL;
long __pyx_v_pumping_toggle;
long __pyx_v_tax_free_toggle;
long __pyx_v_pumping_toggle_override;
long __pyx_v_tax_free_toggle_override;
CYTHON_UNUSED long __pyx_v_exceed_toggle_override;
PyObject *__pyx_v_cross_counter_y = NULL;
long __pyx_v_cross_counter_wy;
long __pyx_v_end_counter;
CYTHON_UNUSED double __pyx_v_extra_demand;
CYTHON_UNUSED PyObject *__pyx_v_carryover_adjust = NULL;
PyObject *__pyx_v_partial_month_remaining = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__54)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_pumping_release", 0);
__Pyx_TraceCall("find_pumping_release", __pyx_f[0], 3615, 0, __PYX_ERR(0, 3615, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_available_storage);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_pumping_release", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_month_evaluate);
__Pyx_XDECREF(__pyx_v_expected_demands);
__Pyx_XDECREF(__pyx_v_expected_inflow);
__Pyx_XDECREF(__pyx_v_expected_untaxed);
__Pyx_XDECREF(__pyx_v_expected_taxed);
__Pyx_XDECREF(__pyx_v_net_monthly);
__Pyx_XDECREF(__pyx_v_next_month_storage);
__Pyx_XDECREF(__pyx_v_this_month_days);
__Pyx_XDECREF(__pyx_v_article21);
__Pyx_XDECREF(__pyx_v_numdays_fillup);
__Pyx_XDECREF(__pyx_v_numdays_fillup_next_year);
__Pyx_XDECREF(__pyx_v_total_days_remaining);
__Pyx_XDECREF(__pyx_v_cross_counter_y);
__Pyx_XDECREF(__pyx_v_carryover_adjust);
__Pyx_XDECREF(__pyx_v_partial_month_remaining);
__Pyx_XDECREF(__pyx_v_available_storage);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__118 = PyTuple_Pack(42, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_da, __pyx_n_s_year_index, __pyx_n_s_start_storage, __pyx_n_s_pump_max, __pyx_n_s_month_demand, __pyx_n_s_month_demand_must_fill, __pyx_n_s_allocation, __pyx_n_s_expected_pumping, __pyx_n_s_flood_supply, __pyx_n_s_available_storage, __pyx_n_s_flood_storage, __pyx_n_s_projected_carryover, __pyx_n_s_current_carryover, __pyx_n_s_max_tax_free, __pyx_n_s_wyt, __pyx_n_s_t, __pyx_n_s_key, __pyx_n_s_month_evaluate, __pyx_n_s_expected_demands, __pyx_n_s_expected_inflow, __pyx_n_s_expected_untaxed, __pyx_n_s_expected_taxed, __pyx_n_s_net_monthly, __pyx_n_s_next_month_storage, __pyx_n_s_this_month_days, __pyx_n_s_article21, __pyx_n_s_numdays_fillup, __pyx_n_s_numdays_fillup_next_year, __pyx_n_s_total_days_remaining, __pyx_n_s_pumping_toggle, __pyx_n_s_tax_free_toggle, __pyx_n_s_pumping_toggle_override, __pyx_n_s_tax_free_toggle_override, __pyx_n_s_exceed_toggle_override, __pyx_n_s_cross_counter_y, __pyx_n_s_cross_counter_wy, __pyx_n_s_end_counter, __pyx_n_s_extra_demand, __pyx_n_s_carryover_adjust, __pyx_n_s_partial_month_remaining); if (unlikely(!__pyx_tuple__118)) __PYX_ERR(0, 3615, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__118);
__Pyx_GIVEREF(__pyx_tuple__118);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_59find_pumping_release, 0, __pyx_n_s_Model_find_pumping_release, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3615, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_pumping_release, __pyx_t_2) < 0) __PYX_ERR(0, 3615, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(19, 0, 42, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__118, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_pumping_release, 3615, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 3615, __pyx_L1_error)
3616: ##this function is used by the swpdelta & cvpdelta contracts to manage san luis reservoir storage
3617: ##and coordinate pumping at the delta
3618: ##state and federal storage portions managed seperately
3619:
+3620: month_evaluate = m - 1
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_month_evaluate = __pyx_t_1; __pyx_t_1 = 0;
3621: # first_month_frac = max(self.days_in_month[year_index][month_evaluate] - da, 0.0)/self.days_in_month[year_index][month_evaluate]
3622:
3623:
3624: ###Initial storage projections - current month
3625: ##calculate expected deliveries during this month from san luis
3626: #expected_demands = (month_demand[wyt][month_evaluate]*allocation + month_demand_must_fill[wyt][month_evaluate])/self.days_in_month[year_index][month_evaluate]
+3627: expected_demands = (month_demand[wyt][month_evaluate] + month_demand_must_fill[wyt][month_evaluate])/self.days_in_month[year_index][month_evaluate]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_month_demand, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_month_demand_must_fill, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_year_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_expected_demands = __pyx_t_2; __pyx_t_2 = 0;
+3628: expected_inflow = expected_pumping['gains'][month_evaluate]/self.days_in_month[year_index][month_evaluate]
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_expected_inflow = __pyx_t_1; __pyx_t_1 = 0;
+3629: expected_untaxed = (expected_pumping['untaxed'][month_evaluate] - expected_pumping['gains'][month_evaluate])*(1.0 - da/self.days_in_month[year_index][month_evaluate])
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_untaxed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_year_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_da, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_2, 1.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_expected_untaxed = __pyx_t_2; __pyx_t_2 = 0;
+3630: expected_taxed = (expected_pumping['taxed'][month_evaluate] - expected_pumping['gains'][month_evaluate])*(1.0 - da/self.days_in_month[year_index][month_evaluate])
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_taxed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_v_da, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_3, 1.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_expected_taxed = __pyx_t_3; __pyx_t_3 = 0;
3631:
3632: #how much 'unstored' pumping can we expect into San Luis?
3633: #self.month_averages comes from self.predict_delta_gains
3634: #proj_surplus & proj_surplus2 are generated in the northern model, from 8RI regression in self.predict_delta_gains
+3635: if month_evaluate == 3 or month_evaluate == 4:
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_month_evaluate, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3635, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L4_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_month_evaluate, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3635, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L4_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+3636: expected_inflow = 0.75
__Pyx_INCREF(__pyx_float_0_75); __Pyx_DECREF_SET(__pyx_v_expected_inflow, __pyx_float_0_75);
3637: #expected monthly change in san luis storage
+3638: net_monthly = (expected_inflow - expected_demands)*max(self.days_in_month[year_index][month_evaluate] - da, 0.0)
__pyx_t_3 = PyNumber_Subtract(__pyx_v_expected_inflow, __pyx_v_expected_demands); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = 0.0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_year_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_1, __pyx_v_da); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = PyObject_RichCompare(__pyx_t_7, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { __pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; __pyx_t_8 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_net_monthly = __pyx_t_2; __pyx_t_2 = 0;
3639: ##Enter into a loop for projecting storage & pumping forward one month at a time
3640: ##start with current estimates
+3641: next_month_storage = start_storage#running storage levels
__Pyx_INCREF(__pyx_v_start_storage);
__pyx_v_next_month_storage = __pyx_v_start_storage;
+3642: this_month_days = max(self.days_in_month[year_index][month_evaluate] - da, 0.0)#running days in a month
__pyx_t_6 = 0.0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_v_da); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { __pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; __pyx_t_8 = 0; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_this_month_days = __pyx_t_1; __pyx_t_1 = 0;
+3643: article21 = 0.0#initialize article 21 release estimates
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_article21 = __pyx_float_0_0;
+3644: numdays_fillup = 999.9#initialize numdays_fillup variable
__Pyx_INCREF(__pyx_float_999_9);
__pyx_v_numdays_fillup = __pyx_float_999_9;
+3645: numdays_fillup_next_year = 999.9
__Pyx_INCREF(__pyx_float_999_9);
__pyx_v_numdays_fillup_next_year = __pyx_float_999_9;
+3646: total_days_remaining = 0.0#used for estimates of how long san luis will take to fill up (for districts to make carryover decisions)
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_days_remaining = __pyx_float_0_0;
3647:
+3648: pumping_toggle = 1#toggle for releasing water to maximum pumping levels
__pyx_v_pumping_toggle = 1;
+3649: tax_free_toggle = 1#toggle for releasing water to 'tax free' pumping levels
__pyx_v_tax_free_toggle = 1;
+3650: pumping_toggle_override = 0#toggle for releasing water to maximum pumping levels
__pyx_v_pumping_toggle_override = 0;
+3651: tax_free_toggle_override = 0#toggle for releasing water to 'tax free' pumping levels
__pyx_v_tax_free_toggle_override = 0;
+3652: exceed_toggle_override = 0
__pyx_v_exceed_toggle_override = 0;
3653: ##loop through all months until april (april/may have very limited pumping, should not plan for any pumping to occur then)
3654: ##this loop helps to project storage in san luis up to a year out > so we know in advance if we need to pump or will be filling the reservoir
3655: ##note: this loop will go through one water year and into the next one
+3656: cross_counter_y = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_cross_counter_y = __pyx_int_0;
+3657: cross_counter_wy = 0
__pyx_v_cross_counter_wy = 0;
+3658: end_counter = 0
__pyx_v_end_counter = 0;
+3659: extra_demand = 0.0
__pyx_v_extra_demand = 0.0;
+3660: carryover_adjust = current_carryover
__Pyx_INCREF(__pyx_v_current_carryover);
__pyx_v_carryover_adjust = __pyx_v_current_carryover;
+3661: while end_counter == 0:
while (1) {
__pyx_t_4 = ((__pyx_v_end_counter == 0) != 0);
if (!__pyx_t_4) break;
3662: #while month_evaluate == m - 1:
3663: #estimate storage at the end of this month by adding monthly change to the running storage tally
+3664: next_month_storage += net_monthly
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_next_month_storage, __pyx_v_net_monthly); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_next_month_storage, __pyx_t_1); __pyx_t_1 = 0;
3665:
+3666: if net_monthly > 0.0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_net_monthly, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3666, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3666, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L8; }
+3667: partial_month_remaining = max(1 - max(next_month_storage - 1020.0, 0.0)/net_monthly, 0.0)*self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_6 = 0.0;
__pyx_t_9 = 0.0;
__pyx_t_1 = __Pyx_PyFloat_SubtractObjC(__pyx_v_next_month_storage, __pyx_float_1020_0, 1020.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_v_net_monthly); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_4) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Multiply(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3667, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF_SET(__pyx_v_partial_month_remaining, __pyx_t_3);
__pyx_t_3 = 0;
3668: else:
+3669: next_month_storage = min(1020.0 + net_monthly, next_month_storage)
/*else*/ {
__Pyx_INCREF(__pyx_v_next_month_storage);
__pyx_t_3 = __pyx_v_next_month_storage;
__pyx_t_8 = __Pyx_PyFloat_AddCObj(__pyx_float_1020_0, __pyx_v_net_monthly, 1020.0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3669, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3669, __pyx_L1_error)
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3669, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_4) {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_1 = __pyx_t_3;
} else {
__Pyx_INCREF(__pyx_t_8);
__pyx_t_1 = __pyx_t_8;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_next_month_storage, __pyx_t_3);
__pyx_t_3 = 0;
+3670: partial_month_remaining = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_partial_month_remaining, __pyx_float_0_0); } __pyx_L8:;
+3671: if next_month_storage > 1020.0:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_next_month_storage, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3671, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3671, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
+3672: exceed_toggle_override = 1
__pyx_v_exceed_toggle_override = 1;
3673: ##can we reach the storage targets only using 'tax free' pumping?
3674: ##how much water can we expect to pump w/o additional E/I tax through the end of the month?
3675: #if dowy <= self.dowy_eom[month_evaluate]:#running water year is the same as the beginning of the loop
3676: #how much 'tax free' pumping through the end of this month? - total tax free remaining at the current simulation day, minus total tax free remaining at the end of the looped month
3677: #running_tax_free_pumping = self.max_tax_free[wyt][key][dowy] - self.max_tax_free[wyt][key][self.dowy_eom[month_evaluate]]
3678: #else:#looped into the next water year, so we have to calculate the tax free pumping remaining through the end of the current year, then add in the tax free remaining through the looped month in the next year
3679: #running_tax_free_pumping = self.max_tax_free[wyt][key][dowy] + self.max_tax_free[wyt][key][0] - self.max_tax_free[wyt][key][self.dowy_eom[month_evaluate]]
3680: #running_tax_free_pumping will be added to the net_month storage variable, so we don't want to double-count 'unstored pumping'
3681: #if running_tax_free_pumping > available_pumping:
3682: #running_tax_free_pumping = available_pumping
3683: ##note - beginning month = m; looped month = month_evaluate
+3684: if start_storage > 1000.0:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_start_storage, __pyx_float_1000_0, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3684, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ }
3685: #if san luis storage is currently greater than capacity, no pumping, article21 releases triggered
+3686: pumping_toggle = min(0, pumping_toggle)
__pyx_t_10 = __pyx_v_pumping_toggle;
__pyx_t_11 = 0;
if (((__pyx_t_10 < __pyx_t_11) != 0)) {
__pyx_t_12 = __pyx_t_10;
} else {
__pyx_t_12 = __pyx_t_11;
}
__pyx_v_pumping_toggle = __pyx_t_12;
+3687: tax_free_toggle = min(0, tax_free_toggle)
__pyx_t_12 = __pyx_v_tax_free_toggle;
__pyx_t_10 = 0;
if (((__pyx_t_12 < __pyx_t_10) != 0)) {
__pyx_t_11 = __pyx_t_12;
} else {
__pyx_t_11 = __pyx_t_10;
}
__pyx_v_tax_free_toggle = __pyx_t_11;
+3688: article21 = max(next_month_storage - 1000.0, start_storage - 1000.0, article21)
__pyx_t_3 = __Pyx_PyFloat_SubtractObjC(__pyx_v_start_storage, __pyx_float_1000_0, 1000.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_article21); __pyx_t_1 = __pyx_v_article21; __pyx_t_8 = __Pyx_PyFloat_SubtractObjC(__pyx_v_next_month_storage, __pyx_float_1000_0, 1000.0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3688, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = __pyx_t_2; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_1, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3688, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = __pyx_t_1; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_article21, __pyx_t_3); __pyx_t_3 = 0;
+3689: numdays_fillup = 0.0#if this condition is hit, no more days needed to fill reservoir (already full)
__Pyx_INCREF(__pyx_float_0_0); __Pyx_DECREF_SET(__pyx_v_numdays_fillup, __pyx_float_0_0);
+3690: if next_month_storage < 1020.0:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_next_month_storage, __pyx_float_1020_0, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3690, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3690, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L11; }
+3691: article21 = max(0.0, article21)
__Pyx_INCREF(__pyx_v_article21); __pyx_t_3 = __pyx_v_article21; __pyx_t_6 = 0.0; __pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_3); __pyx_t_2 = __pyx_t_3; } else { __pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __pyx_t_8; __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_article21, __pyx_t_3); __pyx_t_3 = 0;
3692: #if expected storage is less than 0 in any month, pump at max, no article 21
+3693: if (next_month_storage + expected_untaxed) > 1020.0:
__pyx_t_3 = PyNumber_Add(__pyx_v_next_month_storage, __pyx_v_expected_untaxed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyObject_RichCompare(__pyx_t_3, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L12; }
+3694: if net_monthly+(expected_pumping['untaxed'][month_evaluate] - expected_pumping['gains'][month_evaluate]) > 0.0:
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_untaxed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_v_net_monthly, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ }
+3695: partial_month_remaining = max(1 - max(next_month_storage + expected_untaxed - 1020.0, 0.0)/(net_monthly+(expected_pumping['untaxed'][month_evaluate] - expected_pumping['gains'][month_evaluate])), 0.0)*self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_6 = 0.0;
__pyx_t_9 = 0.0;
__pyx_t_2 = PyNumber_Add(__pyx_v_next_month_storage, __pyx_v_expected_untaxed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = __Pyx_PyFloat_SubtractObjC(__pyx_t_2, __pyx_float_1020_0, 1020.0, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_3, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_4) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_8);
__pyx_t_2 = __pyx_t_8;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_untaxed); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Subtract(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Add(__pyx_v_net_monthly, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyInt_SubtractCObj(__pyx_int_1, __pyx_t_8, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_4) {
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_8 = __pyx_t_1;
__pyx_t_1 = 0;
} else {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_8 = __pyx_t_3;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Multiply(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3695, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_partial_month_remaining, __pyx_t_2);
__pyx_t_2 = 0;
3696:
+3697: numdays_fillup = min(numdays_fillup,total_days_remaining + partial_month_remaining)
__pyx_t_2 = PyNumber_Add(__pyx_v_total_days_remaining, __pyx_v_partial_month_remaining); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_numdays_fillup); __pyx_t_1 = __pyx_v_numdays_fillup; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3697, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3697, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_numdays_fillup, __pyx_t_2); __pyx_t_2 = 0;
+3698: if cross_counter_wy == 1:
__pyx_t_4 = ((__pyx_v_cross_counter_wy == 1) != 0);
if (__pyx_t_4) {
/* … */
}
+3699: numdays_fillup_next_year = min(numdays_fillup_next_year, total_days_remaining + partial_month_remaining)
__pyx_t_2 = PyNumber_Add(__pyx_v_total_days_remaining, __pyx_v_partial_month_remaining); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3699, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_numdays_fillup_next_year); __pyx_t_8 = __pyx_v_numdays_fillup_next_year; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3699, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3699, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_numdays_fillup_next_year, __pyx_t_2); __pyx_t_2 = 0;
3700: else:
+3701: numdays_fillup = min(numdays_fillup, 999.9)#reservoir does not fill up in this condition (if it was full in prior loop months, retains its value)
/*else*/ {
__pyx_t_6 = 999.9;
__Pyx_INCREF(__pyx_v_numdays_fillup);
__pyx_t_2 = __pyx_v_numdays_fillup;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3701, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3701, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_numdays_fillup, __pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L12:;
+3702: if next_month_storage + expected_untaxed > 1020.0:
__pyx_t_2 = PyNumber_Add(__pyx_v_next_month_storage, __pyx_v_expected_untaxed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3702, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L15; }
+3703: pumping_toggle = min(0, pumping_toggle)
__pyx_t_11 = __pyx_v_pumping_toggle;
__pyx_t_12 = 0;
if (((__pyx_t_11 < __pyx_t_12) != 0)) {
__pyx_t_10 = __pyx_t_11;
} else {
__pyx_t_10 = __pyx_t_12;
}
__pyx_v_pumping_toggle = __pyx_t_10;
+3704: tax_free_toggle = min(0, tax_free_toggle)
__pyx_t_10 = __pyx_v_tax_free_toggle;
__pyx_t_11 = 0;
if (((__pyx_t_10 < __pyx_t_11) != 0)) {
__pyx_t_12 = __pyx_t_10;
} else {
__pyx_t_12 = __pyx_t_11;
}
__pyx_v_tax_free_toggle = __pyx_t_12;
+3705: elif next_month_storage + expected_taxed > 1020.0:
__pyx_t_1 = PyNumber_Add(__pyx_v_next_month_storage, __pyx_v_expected_taxed); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_float_1020_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L15; }
+3706: pumping_toggle = min(0, pumping_toggle)
__pyx_t_12 = __pyx_v_pumping_toggle;
__pyx_t_10 = 0;
if (((__pyx_t_12 < __pyx_t_10) != 0)) {
__pyx_t_11 = __pyx_t_12;
} else {
__pyx_t_11 = __pyx_t_10;
}
__pyx_v_pumping_toggle = __pyx_t_11;
+3707: tax_free_toggle = min(0, tax_free_toggle)
__pyx_t_11 = __pyx_v_tax_free_toggle;
__pyx_t_12 = 0;
if (((__pyx_t_11 < __pyx_t_12) != 0)) {
__pyx_t_10 = __pyx_t_11;
} else {
__pyx_t_10 = __pyx_t_12;
}
__pyx_v_tax_free_toggle = __pyx_t_10;
3708: else:
+3709: pumping_toggle = min(1, pumping_toggle)
/*else*/ {
__pyx_t_10 = __pyx_v_pumping_toggle;
__pyx_t_11 = 1;
if (((__pyx_t_10 < __pyx_t_11) != 0)) {
__pyx_t_12 = __pyx_t_10;
} else {
__pyx_t_12 = __pyx_t_11;
}
__pyx_v_pumping_toggle = __pyx_t_12;
+3710: tax_free_toggle = min(1, tax_free_toggle)
__pyx_t_12 = __pyx_v_tax_free_toggle;
__pyx_t_10 = 1;
if (((__pyx_t_12 < __pyx_t_10) != 0)) {
__pyx_t_11 = __pyx_t_12;
} else {
__pyx_t_11 = __pyx_t_10;
}
__pyx_v_tax_free_toggle = __pyx_t_11;
}
__pyx_L15:;
3711: else:
+3712: article21 = max(0.0, article21)
/*else*/ {
__Pyx_INCREF(__pyx_v_article21);
__pyx_t_2 = __pyx_v_article21;
__pyx_t_6 = 0.0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3712, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3712, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3712, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_4) {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_1 = __pyx_t_2;
} else {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3712, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = __pyx_t_8;
__pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_article21, __pyx_t_2);
__pyx_t_2 = 0;
+3713: pumping_toggle = min(0, pumping_toggle)
__pyx_t_11 = __pyx_v_pumping_toggle;
__pyx_t_12 = 0;
if (((__pyx_t_11 < __pyx_t_12) != 0)) {
__pyx_t_10 = __pyx_t_11;
} else {
__pyx_t_10 = __pyx_t_12;
}
__pyx_v_pumping_toggle = __pyx_t_10;
+3714: tax_free_toggle = min(0, tax_free_toggle)
__pyx_t_10 = __pyx_v_tax_free_toggle;
__pyx_t_11 = 0;
if (((__pyx_t_10 < __pyx_t_11) != 0)) {
__pyx_t_12 = __pyx_t_10;
} else {
__pyx_t_12 = __pyx_t_11;
}
__pyx_v_tax_free_toggle = __pyx_t_12;
3715: #article21 flows are the expected extra flows divided by the number of days until the end of the month
+3716: numdays_fillup = min(numdays_fillup,total_days_remaining+partial_month_remaining)
__pyx_t_2 = PyNumber_Add(__pyx_v_total_days_remaining, __pyx_v_partial_month_remaining); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_numdays_fillup); __pyx_t_1 = __pyx_v_numdays_fillup; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3716, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3716, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_1); __pyx_t_8 = __pyx_t_1; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_numdays_fillup, __pyx_t_2); __pyx_t_2 = 0;
+3717: if cross_counter_wy == 1:
__pyx_t_4 = ((__pyx_v_cross_counter_wy == 1) != 0);
if (__pyx_t_4) {
/* … */
}
}
__pyx_L11:;
+3718: numdays_fillup_next_year = min(numdays_fillup_next_year, total_days_remaining + partial_month_remaining)
__pyx_t_2 = PyNumber_Add(__pyx_v_total_days_remaining, __pyx_v_partial_month_remaining); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_numdays_fillup_next_year); __pyx_t_8 = __pyx_v_numdays_fillup_next_year; __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3718, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_1 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_numdays_fillup_next_year, __pyx_t_2); __pyx_t_2 = 0;
3719:
3720: ##note - beginning month = m; looped month = month_evaluate
3721:
3722: ##After we calculate what the pumping for SL based off projections from this month, we step the month
3723: ##forward and project new storage & pumping for the next month, and re-evaluate all releases. From Oct-Mar, if
3724: ##any month triggers the pumping to stop, the pumping stops. From June-Sept, if any month triggers the pumping, the
3725: ##pumping occurs
+3726: month_evaluate += 1
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_month_evaluate, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_month_evaluate, __pyx_t_2); __pyx_t_2 = 0;
+3727: if month_evaluate > 11:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_month_evaluate, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3727, __pyx_L1_error) __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ }
+3728: month_evaluate = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_month_evaluate, __pyx_int_0);
+3729: cross_counter_y = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_DECREF_SET(__pyx_v_cross_counter_y, __pyx_int_1);
+3730: carryover_adjust = projected_carryover
__Pyx_INCREF(__pyx_v_projected_carryover); __Pyx_DECREF_SET(__pyx_v_carryover_adjust, __pyx_v_projected_carryover);
+3731: if month_evaluate == m-1:
__pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_v_month_evaluate, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3731, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3731, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ }
+3732: end_counter = 1
__pyx_v_end_counter = 1;
3733:
+3734: if next_month_storage < 0.0 and cross_counter_y == 0:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_next_month_storage, __pyx_float_0_0, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3734, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3734, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L20_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_cross_counter_y, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3734, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L20_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+3735: tax_free_toggle_override = 1
__pyx_v_tax_free_toggle_override = 1;
+3736: if m == 7 or m == 8 or m == 9:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_7, 7, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L23_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_8, 8, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L23_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_9, 9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L23_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+3737: tax_free_toggle_override = 1
__pyx_v_tax_free_toggle_override = 1;
+3738: if month_evaluate == 9:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_month_evaluate, __pyx_int_9, 9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3738, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ }
+3739: expected_untaxed = max(expected_untaxed + min(next_month_storage, 0.0), 0.0)
__pyx_t_6 = 0.0;
__pyx_t_9 = 0.0;
__Pyx_INCREF(__pyx_v_next_month_storage);
__pyx_t_1 = __pyx_v_next_month_storage;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Add(__pyx_v_expected_untaxed, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_4) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_2;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_expected_untaxed, __pyx_t_1);
__pyx_t_1 = 0;
+3740: available_storage += min(next_month_storage, 0.0)
__pyx_t_6 = 0.0;
__Pyx_INCREF(__pyx_v_next_month_storage);
__pyx_t_1 = __pyx_v_next_month_storage;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3740, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3740, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_available_storage, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_available_storage, __pyx_t_1);
__pyx_t_1 = 0;
+3741: if m < 4 or m > 9 or key == 'cvp':
__pyx_t_1 = PyObject_RichCompare(__pyx_v_m, __pyx_int_4, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3741, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3741, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L28_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_m, __pyx_int_9, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3741, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3741, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L28_bool_binop_done; } __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_v_key, __pyx_n_u_cvp, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3741, __pyx_L1_error) __pyx_t_4 = __pyx_t_5; __pyx_L28_bool_binop_done:; if (__pyx_t_4) { /* … */ goto __pyx_L27; }
+3742: next_month_storage = max(next_month_storage, 0.0)
__pyx_t_6 = 0.0;
__Pyx_INCREF(__pyx_v_next_month_storage);
__pyx_t_1 = __pyx_v_next_month_storage;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3742, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3742, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_4) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_2;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_next_month_storage, __pyx_t_1);
__pyx_t_1 = 0;
3743: else:
+3744: next_month_storage = max(next_month_storage, 0.0)
/*else*/ {
__pyx_t_6 = 0.0;
__Pyx_INCREF(__pyx_v_next_month_storage);
__pyx_t_1 = __pyx_v_next_month_storage;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3744, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_8, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3744, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 3744, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3744, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_2 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __pyx_t_2;
__Pyx_INCREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_next_month_storage, __pyx_t_1);
__pyx_t_1 = 0;
}
__pyx_L27:;
+3745: carryover_adjust = projected_carryover
__Pyx_INCREF(__pyx_v_projected_carryover); __Pyx_DECREF_SET(__pyx_v_carryover_adjust, __pyx_v_projected_carryover);
+3746: cross_counter_wy = 1
__pyx_v_cross_counter_wy = 1;
3747:
+3748: expected_demands = (month_demand[wyt][month_evaluate] + month_demand_must_fill[wyt][month_evaluate])/self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_month_demand, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_month_demand_must_fill, __pyx_v_wyt); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_expected_demands, __pyx_t_8); __pyx_t_8 = 0;
+3749: expected_inflow = expected_pumping['gains'][month_evaluate]/self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_expected_inflow, __pyx_t_3); __pyx_t_3 = 0;
+3750: expected_untaxed += (expected_pumping['untaxed'][month_evaluate] - expected_pumping['gains'][month_evaluate])
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_untaxed); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Subtract(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_expected_untaxed, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_expected_untaxed, __pyx_t_2); __pyx_t_2 = 0;
+3751: expected_taxed += (expected_pumping['taxed'][month_evaluate] - expected_pumping['gains'][month_evaluate])
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_taxed); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_gains); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_v_expected_taxed, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF_SET(__pyx_v_expected_taxed, __pyx_t_1); __pyx_t_1 = 0;
3752: #how much 'unstored' pumping can we expect into San Luis?
3753: #self.month_averages comes from self.predict_delta_gains
3754: #proj_surplus & proj_surplus2 are generated in the northern model, from 8RI regression in self.predict_delta_gains
+3755: if month_evaluate == 3 or month_evaluate == 4:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_month_evaluate, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3755, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_5) { } else { __pyx_t_4 = __pyx_t_5; goto __pyx_L32_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_month_evaluate, __pyx_int_4, 4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3755, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3755, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __pyx_t_5; __pyx_L32_bool_binop_done:; if (__pyx_t_4) { /* … */ }
+3756: expected_inflow = 0.75
__Pyx_INCREF(__pyx_float_0_75); __Pyx_DECREF_SET(__pyx_v_expected_inflow, __pyx_float_0_75);
3757: #expected monthly change in san luis storage
+3758: net_monthly = (expected_inflow - expected_demands)*self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_1 = PyNumber_Subtract(__pyx_v_expected_inflow, __pyx_v_expected_demands); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_net_monthly, __pyx_t_8); __pyx_t_8 = 0;
+3759: total_days_remaining += this_month_days
__pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_total_days_remaining, __pyx_v_this_month_days); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF_SET(__pyx_v_total_days_remaining, __pyx_t_8); __pyx_t_8 = 0;
+3760: this_month_days = self.days_in_month[year_index+cross_counter_y][month_evaluate]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_month_evaluate); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_this_month_days, __pyx_t_3); __pyx_t_3 = 0; }
3761:
+3762: return max(pumping_toggle, pumping_toggle_override), max(tax_free_toggle, tax_free_toggle_override), article21, numdays_fillup, numdays_fillup_next_year
__Pyx_XDECREF(__pyx_r); __pyx_t_12 = __pyx_v_pumping_toggle_override; __pyx_t_10 = __pyx_v_pumping_toggle; if (((__pyx_t_12 > __pyx_t_10) != 0)) { __pyx_t_11 = __pyx_t_12; } else { __pyx_t_11 = __pyx_t_10; } __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = __pyx_v_tax_free_toggle_override; __pyx_t_12 = __pyx_v_tax_free_toggle; if (((__pyx_t_11 > __pyx_t_12) != 0)) { __pyx_t_10 = __pyx_t_11; } else { __pyx_t_10 = __pyx_t_12; } __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyTuple_New(5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_1); __Pyx_INCREF(__pyx_v_article21); __Pyx_GIVEREF(__pyx_v_article21); PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_article21); __Pyx_INCREF(__pyx_v_numdays_fillup); __Pyx_GIVEREF(__pyx_v_numdays_fillup); PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_numdays_fillup); __Pyx_INCREF(__pyx_v_numdays_fillup_next_year); __Pyx_GIVEREF(__pyx_v_numdays_fillup_next_year); PyTuple_SET_ITEM(__pyx_t_8, 4, __pyx_v_numdays_fillup_next_year); __pyx_t_3 = 0; __pyx_t_1 = 0; __pyx_r = __pyx_t_8; __pyx_t_8 = 0; goto __pyx_L0;
3763:
3764: #####################################################################################################################
3765: #####################################################################################################################
3766: #####################################################################################################################
3767:
3768: #####################################################################################################################
3769: ############################# State Variables that use data from more than one obejct class#########################
3770: #####################################################################################################################
+3771: def project_urban_pumping(self, da, dowy, m, wateryear, year_index, total_delta_pumping, projected_allocation_cvp, sri):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_61project_urban_pumping(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_61project_urban_pumping = {"project_urban_pumping", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_61project_urban_pumping, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_61project_urban_pumping(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_da = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_v_year_index = 0;
PyObject *__pyx_v_total_delta_pumping = 0;
PyObject *__pyx_v_projected_allocation_cvp = 0;
CYTHON_UNUSED PyObject *__pyx_v_sri = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("project_urban_pumping (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_da,&__pyx_n_s_dowy,&__pyx_n_s_m,&__pyx_n_s_wateryear,&__pyx_n_s_year_index,&__pyx_n_s_total_delta_pumping,&__pyx_n_s_projected_allocation_cvp,&__pyx_n_s_sri,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_da)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 1); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 2); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 3); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 4); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year_index)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 5); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_total_delta_pumping)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 6); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_projected_allocation_cvp)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 7); __PYX_ERR(0, 3771, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_sri)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, 8); __PYX_ERR(0, 3771, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "project_urban_pumping") < 0)) __PYX_ERR(0, 3771, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
}
__pyx_v_self = values[0];
__pyx_v_da = values[1];
__pyx_v_dowy = values[2];
__pyx_v_m = values[3];
__pyx_v_wateryear = values[4];
__pyx_v_year_index = values[5];
__pyx_v_total_delta_pumping = values[6];
__pyx_v_projected_allocation_cvp = values[7];
__pyx_v_sri = values[8];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("project_urban_pumping", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3771, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.project_urban_pumping", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_60project_urban_pumping(__pyx_self, __pyx_v_self, __pyx_v_da, __pyx_v_dowy, __pyx_v_m, __pyx_v_wateryear, __pyx_v_year_index, __pyx_v_total_delta_pumping, __pyx_v_projected_allocation_cvp, __pyx_v_sri);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_60project_urban_pumping(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_da, PyObject *__pyx_v_dowy, PyObject *__pyx_v_m, PyObject *__pyx_v_wateryear, PyObject *__pyx_v_year_index, PyObject *__pyx_v_total_delta_pumping, PyObject *__pyx_v_projected_allocation_cvp, CYTHON_UNUSED PyObject *__pyx_v_sri) {
PyObject *__pyx_v_urban_list = NULL;
PyObject *__pyx_v_projected_allocation = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_sri_estimate = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_start_of_month = NULL;
PyObject *__pyx_v_monthloop = NULL;
PyObject *__pyx_v_monthcounter = NULL;
PyObject *__pyx_v_cross_counter_y = NULL;
PyObject *__pyx_v_start_next_month = NULL;
PyObject *__pyx_v_districts = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__55)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("project_urban_pumping", 0);
__Pyx_TraceCall("project_urban_pumping", __pyx_f[0], 3771, 0, __PYX_ERR(0, 3771, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.project_urban_pumping", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_urban_list);
__Pyx_XDECREF(__pyx_v_projected_allocation);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_sri_estimate);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_start_of_month);
__Pyx_XDECREF(__pyx_v_monthloop);
__Pyx_XDECREF(__pyx_v_monthcounter);
__Pyx_XDECREF(__pyx_v_cross_counter_y);
__Pyx_XDECREF(__pyx_v_start_next_month);
__Pyx_XDECREF(__pyx_v_districts);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__119 = PyTuple_Pack(23, __pyx_n_s_self, __pyx_n_s_da, __pyx_n_s_dowy, __pyx_n_s_m, __pyx_n_s_wateryear, __pyx_n_s_year_index, __pyx_n_s_total_delta_pumping, __pyx_n_s_projected_allocation_cvp, __pyx_n_s_sri, __pyx_n_s_urban_list, __pyx_n_s_projected_allocation, __pyx_n_s_x, __pyx_n_s_sri_estimate, __pyx_n_s_district, __pyx_n_s_wyt, __pyx_n_s_y, __pyx_n_s_yy, __pyx_n_s_start_of_month, __pyx_n_s_monthloop, __pyx_n_s_monthcounter, __pyx_n_s_cross_counter_y, __pyx_n_s_start_next_month, __pyx_n_s_districts); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 3771, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__119);
__Pyx_GIVEREF(__pyx_tuple__119);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_61project_urban_pumping, 0, __pyx_n_s_Model_project_urban_pumping, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3771, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_project_urban_pumping, __pyx_t_2) < 0) __PYX_ERR(0, 3771, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(9, 0, 23, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_project_urban_pumping, 3771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 3771, __pyx_L1_error)
+3772: urban_list = [self.socal, self.centralcoast, self.southbay]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_centralcoast); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyList_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3772, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_4, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_4, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_4, 2, __pyx_t_3); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_v_urban_list = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+3773: projected_allocation = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_v_projected_allocation = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
+3774: projected_allocation['swp'] = total_delta_pumping
if (unlikely(PyDict_SetItem(__pyx_v_projected_allocation, __pyx_n_u_swp, __pyx_v_total_delta_pumping) < 0)) __PYX_ERR(0, 3774, __pyx_L1_error)
+3775: projected_allocation['cvp'] = projected_allocation_cvp
if (unlikely(PyDict_SetItem(__pyx_v_projected_allocation, __pyx_n_u_cvp, __pyx_v_projected_allocation_cvp) < 0)) __PYX_ERR(0, 3775, __pyx_L1_error)
+3776: if dowy == 0:
__pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { /* … */ }
+3777: for x in range(0, len(self.socal.hist_demand_dict['annual_sorted'][dowy])):
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_annual_sorted); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = PyObject_Length(__pyx_t_3); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3777, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3777, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3777, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3777, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __pyx_L5_break:; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+3778: if total_delta_pumping < self.socal.hist_demand_dict['annual_sorted'][dowy][x]:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_annual_sorted); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_v_total_delta_pumping, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3778, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_5) { /* … */ }
+3779: break
goto __pyx_L5_break;
+3780: self.k_close_wateryear = np.random.randint(0, len(self.socal.hist_demand_dict['sorted_index'][dowy]))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_random); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_randint); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_sorted_index); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_6 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_0, __pyx_t_1}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_int_0, __pyx_t_1}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else #endif { __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear, __pyx_t_4) < 0) __PYX_ERR(0, 3780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3781:
+3782: for x in urban_list:
__pyx_t_4 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3782, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
3783: #sri_estimate = (total_delta_pumping*x.delivery_percent_coefficient[0][dowy][0] + x.delivery_percent_coefficient[0][dowy][1] - x.regression_errors[0][dowy][self.k_close_wateryear])*total_delta_pumping
+3784: sri_estimate = (total_delta_pumping*x.delivery_percent_coefficient[0][dowy][0] + x.delivery_percent_coefficient[0][dowy][1])*total_delta_pumping
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_9, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_9, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_1); __pyx_t_1 = 0;
+3785: x.annualdemand[0] = max(sri_estimate - x.ytd_pumping[0][wateryear], 0.0)
__pyx_t_10 = 0.0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_5) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_9);
__pyx_t_1 = __pyx_t_9;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = __pyx_t_1;
__Pyx_INCREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 0, __pyx_t_9, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 3785, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3786: for x in self.city_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_9 = __pyx_t_4; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3786, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3786, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3786, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3786, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_7(__pyx_t_9); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3786, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3787: for district in x.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_1 = __pyx_t_4; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3787, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3787, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_4); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3787, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3787, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3788: #sri_estimate = (total_delta_pumping*x.delivery_percent_coefficient[district][dowy][0] + x.delivery_percent_coefficient[district][dowy][1] - x.regression_errors[district][dowy][self.k_close_wateryear])*total_delta_pumping
+3789: sri_estimate = (total_delta_pumping*x.delivery_percent_coefficient[district][dowy][0] + x.delivery_percent_coefficient[district][dowy][1])*total_delta_pumping
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_district); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_2); __pyx_t_2 = 0;
+3790: x.annualdemand[district] = max(sri_estimate - x.ytd_pumping[district][wateryear], 1.0)
__pyx_t_10 = 1.0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_wateryear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_13 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
if (__pyx_t_5) {
__pyx_t_13 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_2 = __pyx_t_13;
__pyx_t_13 = 0;
} else {
__Pyx_INCREF(__pyx_t_3);
__pyx_t_2 = __pyx_t_3;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_2;
__Pyx_INCREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_district, __pyx_t_3) < 0)) __PYX_ERR(0, 3790, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3791:
+3792: if da == 1:
__pyx_t_9 = __Pyx_PyInt_EqObjC(__pyx_v_da, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_5) { /* … */ }
3793:
+3794: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_9 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3794, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3794, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3795: for y in urban_list:
__pyx_t_1 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_3); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3795, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3796: y.monthlydemand[wyt] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_v_wyt, __pyx_t_3) < 0)) __PYX_ERR(0, 3796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3797: for y in self.city_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_1 = __pyx_t_9; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3797, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3797, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3797, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_7(__pyx_t_1); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3797, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3798: y.monthlydemand = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand, __pyx_t_9) < 0) __PYX_ERR(0, 3798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3799: for yy in y.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_3 = __pyx_t_9; __Pyx_INCREF(__pyx_t_3); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_12 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3799, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3799, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3799, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_12(__pyx_t_3); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3799, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3800: y.monthlydemand[yy] = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_v_yy, __pyx_t_9) < 0)) __PYX_ERR(0, 3800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3801: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_9 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_9); __pyx_t_14 = 0; for (;;) { if (__pyx_t_14 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 3801, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_9, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_13)); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3802: y.monthlydemand[yy][wyt] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_yy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_wyt, __pyx_t_13) < 0)) __PYX_ERR(0, 3802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
3803:
3804:
+3805: start_of_month = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_start_of_month = __pyx_int_0;
3806: ###Divide aqueduct branch pumping into 'monthly demands'
+3807: for monthloop in range(0,12):
for (__pyx_t_15 = 0; __pyx_t_15 < 12; __pyx_t_15+=1) {
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3807, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_monthloop, __pyx_t_1);
__pyx_t_1 = 0;
+3808: monthcounter = monthloop + 9
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_v_monthloop, __pyx_int_9, 9, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_monthcounter, __pyx_t_1); __pyx_t_1 = 0;
+3809: if monthcounter > 11:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_monthcounter, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3809, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+3810: monthcounter -= 12
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_monthcounter, __pyx_int_12, 12, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3810, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF_SET(__pyx_v_monthcounter, __pyx_t_1); __pyx_t_1 = 0;
+3811: if monthcounter < m-1:
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_v_monthcounter, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3811, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3811, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L27; }
+3812: cross_counter_y = 1
__Pyx_INCREF(__pyx_int_1); __Pyx_XDECREF_SET(__pyx_v_cross_counter_y, __pyx_int_1);
3813: else:
+3814: cross_counter_y = 0
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__Pyx_XDECREF_SET(__pyx_v_cross_counter_y, __pyx_int_0);
}
__pyx_L27:;
+3815: start_next_month = self.dowy_eom[year_index+cross_counter_y][monthcounter] + 1
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dowy_eom); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyNumber_Add(__pyx_v_year_index, __pyx_v_cross_counter_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_monthcounter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3815, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_start_next_month, __pyx_t_9); __pyx_t_9 = 0;
+3816: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_9 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3816, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3817: for y in urban_list:
__pyx_t_1 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; for (;;) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_3); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3817, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3817, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3818: #sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[0][dowy][0] + y.delivery_percent_coefficient[0][dowy][1] - y.regression_errors[0][dowy][self.k_close_wateryear])*total_delta_pumping
+3819: sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[0][dowy][0] + y.delivery_percent_coefficient[0][dowy][1])*total_delta_pumping
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_13, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_2); __pyx_t_2 = 0;
3820: #if monthcounter >= 9:
3821: #if wateryear > 0:
3822: #y.monthlydemand[wyt][monthcounter] += np.mean(y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])*max(y.ytd_pumping[0][wateryear-1], 0.0)
3823: #else:
3824: #y.monthlydemand[wyt][monthcounter] += np.mean(y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])*max(y.initial_pumping, 0.0)
3825: #else:
+3826: y.monthlydemand[wyt][monthcounter] += np.mean(y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])*max(sri_estimate - y.ytd_pumping[0][wateryear], 0.0)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_v_wyt); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_INCREF(__pyx_v_monthcounter); __pyx_t_2 = __pyx_v_monthcounter; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GetModuleGlobalName(__pyx_t_16, __pyx_n_s_np); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_mean); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_16, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetSlice(__pyx_t_19, 0, 0, &__pyx_v_start_of_month, &__pyx_v_start_next_month, NULL, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_17))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); } } __pyx_t_4 = (__pyx_t_19) ? __Pyx_PyObject_Call2Args(__pyx_t_17, __pyx_t_19, __pyx_t_16) : __Pyx_PyObject_CallOneArg(__pyx_t_17, __pyx_t_16); __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_10 = 0.0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_17, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_wateryear); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_19 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = PyObject_RichCompare(__pyx_t_19, __pyx_t_16, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_5) { __pyx_t_18 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __pyx_t_18; __pyx_t_18 = 0; } else { __Pyx_INCREF(__pyx_t_16); __pyx_t_17 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Multiply(__pyx_t_4, __pyx_t_17); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_t_2, __pyx_t_17) < 0)) __PYX_ERR(0, 3826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+3827: for y in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_13 = __pyx_t_1; __Pyx_INCREF(__pyx_t_13); __pyx_t_11 = 0; __pyx_t_7 = NULL; } else { __pyx_t_11 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3827, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_13))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3827, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_13, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3827, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_13, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_13); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3827, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+3828: for districts in y.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_14 = 0; __pyx_t_12 = NULL; } else { __pyx_t_14 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3828, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 3828, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 3828, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3828, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_districts, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3829: # district_object = self.district_keys[districts]
3830: #sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[districts][dowy][0] + y.delivery_percent_coefficient[districts][dowy][1] - y.regression_errors[districts][dowy][self.k_close_wateryear])*total_delta_pumping
+3831: sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[districts][dowy][0] + y.delivery_percent_coefficient[districts][dowy][1])*total_delta_pumping
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_dowy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_1, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_districts); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_dowy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_17, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Add(__pyx_t_1, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Multiply(__pyx_t_17, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3831, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_16); __pyx_t_16 = 0;
3832: #if monthcounter >= 9:
3833: #if wateryear > 0:
3834: #y.monthlydemand[districts][wyt][monthcounter] += np.mean(self.district_keys[districts].hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])*max(y.ytd_pumping[districts][wateryear-1], 0.0)
3835: #else:
3836: #y.monthlydemand[districts][wyt][monthcounter] += np.mean(self.district_keys[districts].hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])max(y.initial_pumping[districts], 0.0)
3837: #else:
+3838: y.monthlydemand[districts][wyt][monthcounter] += np.mean(self.district_keys[districts].hist_demand_dict['daily_fractions'][self.k_close_wateryear][start_of_month:start_next_month])*max(sri_estimate - y.ytd_pumping[districts][wateryear], 0.0)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_v_wyt); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_INCREF(__pyx_v_monthcounter); __pyx_t_17 = __pyx_v_monthcounter; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_mean); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_districts); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_t_4); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_20, 0, 0, &__pyx_v_start_of_month, &__pyx_v_start_next_month, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_18))) { __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_20)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_20); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); } } __pyx_t_3 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_18, __pyx_t_20, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_18, __pyx_t_4); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_10 = 0.0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_districts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_20 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_19 = PyObject_RichCompare(__pyx_t_20, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_5) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_18 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_4); __pyx_t_18 = __pyx_t_4; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_3, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_16, __pyx_t_17, __pyx_t_18) < 0)) __PYX_ERR(0, 3838, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
3839:
+3840: start_of_month = start_next_month
__Pyx_INCREF(__pyx_v_start_next_month); __Pyx_DECREF_SET(__pyx_v_start_of_month, __pyx_v_start_next_month); }
3841:
+3842: for y in urban_list:
__pyx_t_9 = __pyx_v_urban_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_6 = 0; for (;;) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3842, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_9, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+3843: y.dailydemand[0] = 0.0
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_SetItemInt(__pyx_t_13, 0, __pyx_float_0_0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 3843, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
3844:
3845: #sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[0][dowy][0] + y.delivery_percent_coefficient[0][dowy][1] - y.regression_errors[0][dowy][self.k_close_wateryear])*total_delta_pumping
+3846: sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[0][dowy][0] + y.delivery_percent_coefficient[0][dowy][1])*total_delta_pumping
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_13, __pyx_t_16); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Multiply(__pyx_t_2, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_16); __pyx_t_16 = 0;
3847: #if monthcounter >= 9:
3848: #if wateryear > 0:
3849: #y.dailydemand[0] += max(y.ytd_pumping[0][wateryear-1], 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
3850: #y.dailydemand_start[0] += max(y.ytd_pumping[0][wateryear-1], 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
3851: #else:
3852: #y.dailydemand[0] += max(y.initial_pumping, 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
3853: #y.dailydemand_start[0] += max(y.initial_pumping, 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
3854: #else:
+3855: y.dailydemand[0] += max(sri_estimate - y.ytd_pumping[0][wateryear], 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_11 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_16, __pyx_t_11, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_wateryear); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_13); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_18 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = PyObject_RichCompare(__pyx_t_18, __pyx_t_17, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { __pyx_t_4 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = __pyx_t_4; __pyx_t_4 = 0; } else { __Pyx_INCREF(__pyx_t_17); __pyx_t_13 = __pyx_t_17; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_dowy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_13, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_16, __pyx_t_11, __pyx_t_17, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 3855, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+3856: y.dailydemand_start[0] += max(sri_estimate - y.ytd_pumping[0][wateryear], 0.0)*y.hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand_start); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_11 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_16, __pyx_t_11, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_10 = 0.0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_18, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_18); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_4 = PyObject_RichCompare(__pyx_t_13, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { __pyx_t_4 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = __pyx_t_4; __pyx_t_4 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_18 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_18, __pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_16, __pyx_t_11, __pyx_t_2, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 3856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
3857:
+3858: y.ytd_pumping[0][wateryear] += y.dailydemand[0]
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_16, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_16 = __pyx_v_wateryear; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_GetItemInt(__pyx_t_17, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_t_16, __pyx_t_17) < 0)) __PYX_ERR(0, 3858, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3859:
+3860: for y in self.city_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_2 = __pyx_t_9; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3860, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3860, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_9); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 3860, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3860, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_7(__pyx_t_2); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3860, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3861: for districts in y.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_16 = __pyx_t_9; __Pyx_INCREF(__pyx_t_16); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 3861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3861, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_16))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3861, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_16, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_11); __Pyx_INCREF(__pyx_t_9); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 3861, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_16, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_12(__pyx_t_16); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3861, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_districts, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+3862: y.dailydemand[districts] = 0.0
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_v_districts, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3862, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
3863: # district_object = self.district_keys[districts]
3864: #sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[districts][dowy][0] + y.delivery_percent_coefficient[districts][dowy][1] - y.regression_errors[districts][dowy][self.k_close_wateryear])*total_delta_pumping
+3865: sri_estimate = (total_delta_pumping*y.delivery_percent_coefficient[districts][dowy][0] + y.delivery_percent_coefficient[districts][dowy][1])*total_delta_pumping
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_9, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_v_total_delta_pumping, __pyx_t_17); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_delivery_percent_coefficient); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_districts); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_dowy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_GetItemInt(__pyx_t_17, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Add(__pyx_t_9, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_17, __pyx_v_total_delta_pumping); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_sri_estimate, __pyx_t_18); __pyx_t_18 = 0;
+3866: y.dailydemand[districts] += max(sri_estimate- y.ytd_pumping[districts][wateryear], 0.0)*self.district_keys[districts].hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_INCREF(__pyx_v_districts); __pyx_t_17 = __pyx_v_districts; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_t_17); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_districts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_wateryear); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_4, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { __pyx_t_3 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = __pyx_t_3; __pyx_t_3 = 0; } else { __Pyx_INCREF(__pyx_t_4); __pyx_t_13 = __pyx_t_4; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_districts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_13, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_17, __pyx_t_4) < 0)) __PYX_ERR(0, 3866, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+3867: y.dailydemand_start[districts] += max(sri_estimate -y.ytd_pumping[districts][wateryear], 0.0)*self.district_keys[districts].hist_demand_dict['daily_fractions'][self.k_close_wateryear][dowy]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand_start); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_INCREF(__pyx_v_districts); __pyx_t_17 = __pyx_v_districts; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_t_17); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = 0.0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_districts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_wateryear); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Subtract(__pyx_v_sri_estimate, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = PyObject_RichCompare(__pyx_t_13, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_5) { __pyx_t_3 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_1 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_districts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_hist_demand_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_daily_fractions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_k_close_wateryear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_t_17, __pyx_t_9) < 0)) __PYX_ERR(0, 3867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+3868: y.ytd_pumping[districts][wateryear] += y.dailydemand[districts]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_ytd_pumping); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_INCREF(__pyx_v_wateryear); __pyx_t_18 = __pyx_v_wateryear; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_districts); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_17, __pyx_t_18, __pyx_t_13) < 0)) __PYX_ERR(0, 3868, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
3869:
3870:
3871:
+3872: def agg_contract_demands(self, year_index, m, wyt_real):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_63agg_contract_demands(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_63agg_contract_demands = {"agg_contract_demands", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_63agg_contract_demands, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_63agg_contract_demands(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_year_index = 0;
PyObject *__pyx_v_m = 0;
CYTHON_UNUSED PyObject *__pyx_v_wyt_real = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("agg_contract_demands (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_year_index,&__pyx_n_s_m,&__pyx_n_s_wyt_real,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year_index)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("agg_contract_demands", 1, 4, 4, 1); __PYX_ERR(0, 3872, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("agg_contract_demands", 1, 4, 4, 2); __PYX_ERR(0, 3872, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt_real)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("agg_contract_demands", 1, 4, 4, 3); __PYX_ERR(0, 3872, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "agg_contract_demands") < 0)) __PYX_ERR(0, 3872, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_year_index = values[1];
__pyx_v_m = values[2];
__pyx_v_wyt_real = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("agg_contract_demands", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3872, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.agg_contract_demands", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_62agg_contract_demands(__pyx_self, __pyx_v_self, __pyx_v_year_index, __pyx_v_m, __pyx_v_wyt_real);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_62agg_contract_demands(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_year_index, PyObject *__pyx_v_m, CYTHON_UNUSED PyObject *__pyx_v_wyt_real) {
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_v_res = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_total_alloc = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_total_frac = NULL;
long __pyx_v_monthcounter;
PyObject *__pyx_v_daysmonth = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__56)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("agg_contract_demands", 0);
__Pyx_TraceCall("agg_contract_demands", __pyx_f[0], 3872, 0, __PYX_ERR(0, 3872, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.agg_contract_demands", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_total_alloc);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_total_frac);
__Pyx_XDECREF(__pyx_v_daysmonth);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__120 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_year_index, __pyx_n_s_m, __pyx_n_s_wyt_real, __pyx_n_s_wyt, __pyx_n_s_res, __pyx_n_s_x, __pyx_n_s_total_alloc, __pyx_n_s_yy, __pyx_n_s_total_frac, __pyx_n_s_monthcounter, __pyx_n_s_daysmonth, __pyx_n_s_xx, __pyx_n_s_district); if (unlikely(!__pyx_tuple__120)) __PYX_ERR(0, 3872, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__120);
__Pyx_GIVEREF(__pyx_tuple__120);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_63agg_contract_demands, 0, __pyx_n_s_Model_agg_contract_demands, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3872, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_agg_contract_demands, __pyx_t_2) < 0) __PYX_ERR(0, 3872, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(4, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__120, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_agg_contract_demands, 3872, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 3872, __pyx_L1_error)
3873: #this function sums district demands by reservoir (i.e. - for each reservoir, the sum of the demand of all districts
3874: #with a contract that is held at that reservoir
+3875: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_1 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; for (;;) { if (__pyx_t_2 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 3875, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3876: for res in self.reservoir_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 3876, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3876, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 3876, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3876, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+3877: res.monthly_demand[wyt] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_int_12); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_wyt, __pyx_t_3) < 0)) __PYX_ERR(0, 3877, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3878: res.monthly_demand_full[wyt] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_3 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_12); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3878, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_wyt, __pyx_t_3) < 0)) __PYX_ERR(0, 3878, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3879: res.monthly_demand_must_fill[wyt] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_7, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_int_12); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3879, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_wyt, __pyx_t_3) < 0)) __PYX_ERR(0, 3879, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3880: for x in self.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3880, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3880, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_3); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3880, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_10(__pyx_t_8); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3880, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3881: total_alloc = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_alloc, __pyx_float_0_0);
+3882: for yy in self.reservoir_contract[res.key]:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_7 = __pyx_t_11; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3882, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3882, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3882, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3882, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_7); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3882, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3883: if res.key == "MIL":
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_11, __pyx_n_u_MIL, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L11; }
+3884: if x.annualdemand[0] > 0.0:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_t_3, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L12; }
+3885: total_frac = min(max(x.project_contract['friant1']*self.friant1.total,0.0)/x.annualdemand[0], 1.0)
__pyx_t_15 = 1.0;
__pyx_t_16 = 0.0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_friant1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_friant1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_total); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = PyNumber_Multiply(__pyx_t_3, __pyx_t_17); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_18 = PyObject_RichCompare(__pyx_t_3, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
if (__pyx_t_14) {
__pyx_t_18 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_17 = __pyx_t_18;
__pyx_t_18 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_17 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_18 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_17, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_14) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3885, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_18 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_18 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __pyx_t_18;
__Pyx_INCREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_t_11);
__pyx_t_11 = 0;
3886: else:
+3887: total_frac = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_float_0_0);
}
__pyx_L12:;
+3888: elif res.key == 'PFT':
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_11, __pyx_n_u_PFT, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3888, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L11; }
+3889: if x.annualdemand[0] > 0.0:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3889, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_t_18, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3889, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3889, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L13; }
+3890: total_frac = min(max(x.projected_supply['kings']/x.annualdemand[0],0.0), 1.0)
__pyx_t_15 = 1.0;
__pyx_t_16 = 0.0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_kings); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_3 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_18 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_17 = PyObject_RichCompare(__pyx_t_18, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (__pyx_t_14) {
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_3 = __pyx_t_17;
__pyx_t_17 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_3 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_INCREF(__pyx_t_3);
__pyx_t_11 = __pyx_t_3;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_18 = PyObject_RichCompare(__pyx_t_17, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
if (__pyx_t_14) {
__pyx_t_18 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3890, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_3 = __pyx_t_18;
__pyx_t_18 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_3 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_t_11);
__pyx_t_11 = 0;
3891: else:
+3892: total_frac = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_float_0_0);
}
__pyx_L13:;
+3893: elif res.key == 'KWH':
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3893, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_11, __pyx_n_u_KWH, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3893, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L11; }
+3894: if x.annualdemand[0] > 0.0:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_t_3, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3894, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3894, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L14; }
+3895: total_frac = min(max(x.projected_supply['kaweah']/x.annualdemand[0],0.0), 1.0)
__pyx_t_15 = 1.0;
__pyx_t_16 = 0.0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_kaweah); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_18 = __Pyx_GetItemInt(__pyx_t_11, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __Pyx_PyNumber_Divide(__pyx_t_3, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_17 = PyObject_RichCompare(__pyx_t_3, __pyx_t_11, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (__pyx_t_14) {
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_18 = __pyx_t_17;
__pyx_t_17 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_18 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_INCREF(__pyx_t_18);
__pyx_t_11 = __pyx_t_18;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_3 = PyObject_RichCompare(__pyx_t_17, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_14) {
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3895, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_18 = __pyx_t_3;
__pyx_t_3 = 0;
} else {
__Pyx_INCREF(__pyx_t_11);
__pyx_t_18 = __pyx_t_11;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = __pyx_t_18;
__Pyx_INCREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_t_11);
__pyx_t_11 = 0;
3896: else:
+3897: total_frac = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_float_0_0);
}
__pyx_L14:;
3898:
3899: else:
+3900: total_frac = 1.0
/*else*/ {
__Pyx_INCREF(__pyx_float_1_0);
__Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_float_1_0);
}
__pyx_L11:;
+3901: if x.reservoir_contract[res.key] == 1:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_11); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyInt_EqObjC(__pyx_t_18, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ }
3902:
+3903: for monthcounter in range(0,12):
for (__pyx_t_19 = 0; __pyx_t_19 < 12; __pyx_t_19+=1) {
__pyx_v_monthcounter = __pyx_t_19;
+3904: if monthcounter >= m-1:
__pyx_t_11 = __Pyx_PyInt_From_long(__pyx_v_monthcounter); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3904, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = PyObject_RichCompare(__pyx_t_11, __pyx_t_18, Py_GE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3904, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3904, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L18; }
+3905: daysmonth = self.days_in_month[year_index][monthcounter]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_year_index); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_7); __pyx_t_7 = 0;
3906: else:
+3907: daysmonth = self.days_in_month[year_index+1][monthcounter]
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_18 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_18); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_18 = __Pyx_GetItemInt(__pyx_t_11, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3907, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_18);
__pyx_t_18 = 0;
}
__pyx_L18:;
+3908: if x.must_fill == 1:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_must_fill); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_11 = __Pyx_PyInt_EqObjC(__pyx_t_18, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L19; }
+3909: res.monthly_demand_must_fill[wyt][monthcounter] += x.monthlydemand[wyt][monthcounter]*daysmonth
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_v_wyt); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_18, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_7, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_11, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_18, __pyx_t_20, __pyx_t_7, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3909, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
3910: else:
+3911: res.monthly_demand[wyt][monthcounter] += x.monthlydemand[wyt][monthcounter]*daysmonth*total_frac
/*else*/ {
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_18, __pyx_v_wyt); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_20 = __pyx_v_monthcounter;
__pyx_t_18 = __Pyx_GetItemInt(__pyx_t_7, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_GetItemInt(__pyx_t_11, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_v_total_frac)) { __Pyx_RaiseUnboundLocalError("total_frac"); __PYX_ERR(0, 3911, __pyx_L1_error) }
__pyx_t_3 = PyNumber_Multiply(__pyx_t_11, __pyx_v_total_frac); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(__Pyx_SetItemInt(__pyx_t_7, __pyx_t_20, __pyx_t_11, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3911, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3912: res.monthly_demand_full[wyt][monthcounter] += x.monthlydemand[wyt][monthcounter]*daysmonth
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_11, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_7, __pyx_t_18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_11, __pyx_t_20, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3912, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __pyx_L19:; }
+3913: for x in self.private_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_11 = __pyx_t_8; __Pyx_INCREF(__pyx_t_11); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3913, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3913, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3913, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_10(__pyx_t_11); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3913, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+3914: total_alloc = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_alloc, __pyx_float_0_0);
+3915: total_frac = {}
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_t_8); __pyx_t_8 = 0;
+3916: for xx in x.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_3 = __pyx_t_8; __Pyx_INCREF(__pyx_t_3); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3916, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3916, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3916, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3916, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_13(__pyx_t_3); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3916, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3917: for yy in self.reservoir_contract[res.key]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_18 = __pyx_t_7; __Pyx_INCREF(__pyx_t_18); __pyx_t_21 = 0; __pyx_t_22 = NULL; } else { __pyx_t_21 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_22 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3917, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_22)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_21); __Pyx_INCREF(__pyx_t_7); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 3917, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_21); __Pyx_INCREF(__pyx_t_7); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 3917, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3917, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_22(__pyx_t_18); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3917, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+3918: total_alloc += x.projected_supply[xx][yy.name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_total_alloc, __pyx_t_17); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF_SET(__pyx_v_total_alloc, __pyx_t_7); __pyx_t_7 = 0;
+3919: if x.annualdemand[xx] > 0.0:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_7, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L26; }
+3920: total_frac[xx] = min(total_alloc/x.annualdemand[xx], 1.0)
__pyx_t_15 = 1.0;
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_v_total_alloc, __pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_17, __pyx_t_18, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_14) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_7 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_18);
__pyx_t_7 = __pyx_t_18;
}
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_18 = __pyx_t_7;
__Pyx_INCREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(PyObject_SetItem(__pyx_v_total_frac, __pyx_v_xx, __pyx_t_18) < 0)) __PYX_ERR(0, 3920, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
3921: else:
+3922: total_frac[xx] = 0.0
/*else*/ {
if (unlikely(PyObject_SetItem(__pyx_v_total_frac, __pyx_v_xx, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3922, __pyx_L1_error)
}
__pyx_L26:;
+3923: if x.reservoir_contract[res.key] == 1:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyInt_EqObjC(__pyx_t_7, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3923, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_14) { /* … */ }
+3924: for monthcounter in range(0,12):
for (__pyx_t_19 = 0; __pyx_t_19 < 12; __pyx_t_19+=1) {
__pyx_v_monthcounter = __pyx_t_19;
+3925: if monthcounter >= m-1:
__pyx_t_18 = __Pyx_PyInt_From_long(__pyx_v_monthcounter); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyObject_RichCompare(__pyx_t_18, __pyx_t_7, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L30; }
+3926: daysmonth = self.days_in_month[year_index][monthcounter]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_year_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_7, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_3); __pyx_t_3 = 0;
3927: else:
+3928: daysmonth = self.days_in_month[year_index+1][monthcounter]
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3928, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3928, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3928, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3928, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L30:;
+3929: for district in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_18 = __pyx_t_7; __Pyx_INCREF(__pyx_t_18); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_13 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3929, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3929, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3929, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_18, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3929, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_13(__pyx_t_18); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3929, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; }
+3930: res.monthly_demand[wyt][monthcounter] += x.monthlydemand[district][wyt][monthcounter]*daysmonth
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_3, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_district); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_v_wyt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_17, __pyx_v_daysmonth); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_20, __pyx_t_17, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3930, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3931: res.monthly_demand_full[wyt][monthcounter] += x.monthlydemand[district][wyt][monthcounter]*daysmonth
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_17, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_district); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_v_daysmonth); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_17, __pyx_t_20, __pyx_t_7, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3931, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
3932:
3933:
3934:
+3935: for x in self.city_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_18 = __pyx_t_11; __Pyx_INCREF(__pyx_t_18); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = Py_TYPE(__pyx_t_18)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3935, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_18))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_11); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3935, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_18)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_t_11); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 3935, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_18, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_10(__pyx_t_18); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3935, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
+3936: total_alloc = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_total_alloc, __pyx_float_0_0);
+3937: total_frac = {}
__pyx_t_11 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_XDECREF_SET(__pyx_v_total_frac, __pyx_t_11); __pyx_t_11 = 0;
+3938: for xx in x.district_list:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_17 = __pyx_t_11; __Pyx_INCREF(__pyx_t_17); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_17 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_13 = Py_TYPE(__pyx_t_17)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3938, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_17))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_17, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3938, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_17, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_17)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_17, __pyx_t_12); __Pyx_INCREF(__pyx_t_11); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3938, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_17, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_13(__pyx_t_17); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3938, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+3939: for yy in self.reservoir_contract[res.key]:
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_21 = 0; __pyx_t_22 = NULL; } else { __pyx_t_21 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_22 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 3939, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_22)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_21 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_21); __Pyx_INCREF(__pyx_t_8); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 3939, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_21 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_21); __Pyx_INCREF(__pyx_t_8); __pyx_t_21++; if (unlikely(0 < 0)) __PYX_ERR(0, 3939, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_21); __pyx_t_21++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_22(__pyx_t_7); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3939, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+3940: total_alloc += x.projected_supply[xx][yy.name]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_yy, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_total_alloc, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_total_alloc, __pyx_t_8); __pyx_t_8 = 0;
+3941: if x.annualdemand[xx] > 0.0:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_8, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L39; }
+3942: total_frac[xx] = min(total_alloc/x.annualdemand[xx], 1.0)
__pyx_t_15 = 1.0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyNumber_Divide(__pyx_v_total_alloc, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_3 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_11 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
if (__pyx_t_14) {
__pyx_t_11 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_8 = __pyx_t_11;
__pyx_t_11 = 0;
} else {
__Pyx_INCREF(__pyx_t_7);
__pyx_t_8 = __pyx_t_7;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __pyx_t_8;
__Pyx_INCREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(PyObject_SetItem(__pyx_v_total_frac, __pyx_v_xx, __pyx_t_7) < 0)) __PYX_ERR(0, 3942, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
3943: else:
+3944: total_frac[xx] = 0.0
/*else*/ {
if (unlikely(PyObject_SetItem(__pyx_v_total_frac, __pyx_v_xx, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3944, __pyx_L1_error)
}
__pyx_L39:;
+3945: if x.reservoir_contract[res.key] == 1:
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_8, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3945, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_14) { /* … */ }
+3946: for monthcounter in range(0,12):
for (__pyx_t_19 = 0; __pyx_t_19 < 12; __pyx_t_19+=1) {
__pyx_v_monthcounter = __pyx_t_19;
+3947: if monthcounter >=m-1:
__pyx_t_7 = __Pyx_PyInt_From_long(__pyx_v_monthcounter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = PyObject_RichCompare(__pyx_t_7, __pyx_t_8, Py_GE); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3947, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3947, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L43; }
+3948: daysmonth = self.days_in_month[year_index][monthcounter]
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_year_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_17); __pyx_t_17 = 0;
3949: else:
+3950: daysmonth = self.days_in_month[year_index+1][monthcounter]
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_GetItemInt(__pyx_t_7, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3950, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_8);
__pyx_t_8 = 0;
}
__pyx_L43:;
+3951: for district in x.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_7 = __pyx_t_8; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3951, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3951, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 3951, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_13(__pyx_t_7); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3951, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; }
+3952: res.monthly_demand[wyt][monthcounter] += x.monthlydemand[district][wyt][monthcounter]*daysmonth
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_v_wyt); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_17, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_11, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_11); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_17, __pyx_t_20, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3952, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+3953: res.monthly_demand_full[wyt][monthcounter] += x.monthlydemand[district][wyt][monthcounter]*daysmonth
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_v_wyt); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_20 = __pyx_v_monthcounter; __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_3, __pyx_t_20, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_district); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_v_wyt); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_11, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_t_20, __pyx_t_8, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3954:
3955:
+3956: for monthcounter in range(0,12):
for (__pyx_t_19 = 0; __pyx_t_19 < 12; __pyx_t_19+=1) {
__pyx_v_monthcounter = __pyx_t_19;
+3957: if monthcounter >= m-1:
__pyx_t_18 = __Pyx_PyInt_From_long(__pyx_v_monthcounter); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyObject_RichCompare(__pyx_t_18, __pyx_t_7, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3957, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L48; }
+3958: daysmonth = self.days_in_month[year_index][monthcounter]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_year_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_7, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_3); __pyx_t_3 = 0;
3959: else:
+3960: daysmonth = self.days_in_month[year_index + 1][monthcounter]
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3960, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_7);
__pyx_t_7 = 0;
}
__pyx_L48:;
+3961: if res.monthly_demand[wyt][monthcounter] > res.total_capacity*cfs_tafd*daysmonth:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_18, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_total_capacity); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyNumber_Multiply(__pyx_t_18, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_7, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3961, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_14) { /* … */ }
+3962: res.monthly_demand[wyt][monthcounter] = res.total_capacity*cfs_tafd*daysmonth
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_total_capacity); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_7, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_wyt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_8, __pyx_v_monthcounter, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3962, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+3963: if res.monthly_demand_full[wyt][monthcounter] > res.total_capacity*cfs_tafd*daysmonth:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_monthcounter, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_total_capacity); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyNumber_Multiply(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_18, __pyx_v_daysmonth); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_3, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 3963, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_14) { /* … */ } }
+3964: res.monthly_demand_full[wyt][monthcounter] = res.total_capacity*cfs_tafd*daysmonth
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_total_capacity); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = PyNumber_Multiply(__pyx_t_18, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_wyt); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_18, __pyx_v_monthcounter, __pyx_t_7, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 3964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
3965:
+3966: def appropriate_carryover(self, forgone, key, wateryear):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_65appropriate_carryover(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_65appropriate_carryover = {"appropriate_carryover", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_65appropriate_carryover, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_65appropriate_carryover(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_forgone = 0;
PyObject *__pyx_v_key = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("appropriate_carryover (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_forgone,&__pyx_n_s_key,&__pyx_n_s_wateryear,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_forgone)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("appropriate_carryover", 1, 4, 4, 1); __PYX_ERR(0, 3966, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("appropriate_carryover", 1, 4, 4, 2); __PYX_ERR(0, 3966, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("appropriate_carryover", 1, 4, 4, 3); __PYX_ERR(0, 3966, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "appropriate_carryover") < 0)) __PYX_ERR(0, 3966, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_forgone = values[1];
__pyx_v_key = values[2];
__pyx_v_wateryear = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("appropriate_carryover", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 3966, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.appropriate_carryover", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_64appropriate_carryover(__pyx_self, __pyx_v_self, __pyx_v_forgone, __pyx_v_key, __pyx_v_wateryear);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_64appropriate_carryover(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_forgone, PyObject *__pyx_v_key, PyObject *__pyx_v_wateryear) {
PyObject *__pyx_v_remaining_carryover = NULL;
PyObject *__pyx_v_remaining_balance = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_z = NULL;
PyObject *__pyx_v_total_remaining = NULL;
PyObject *__pyx_v_carryover_fraction = NULL;
PyObject *__pyx_v_current_contract = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__57)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("appropriate_carryover", 0);
__Pyx_TraceCall("appropriate_carryover", __pyx_f[0], 3966, 0, __PYX_ERR(0, 3966, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.appropriate_carryover", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_remaining_carryover);
__Pyx_XDECREF(__pyx_v_remaining_balance);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XDECREF(__pyx_v_total_remaining);
__Pyx_XDECREF(__pyx_v_carryover_fraction);
__Pyx_XDECREF(__pyx_v_current_contract);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__121 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_forgone, __pyx_n_s_key, __pyx_n_s_wateryear, __pyx_n_s_remaining_carryover, __pyx_n_s_remaining_balance, __pyx_n_s_y, __pyx_n_s_x, __pyx_n_s_z, __pyx_n_s_total_remaining, __pyx_n_s_carryover_fraction, __pyx_n_s_current_contract); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 3966, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__121);
__Pyx_GIVEREF(__pyx_tuple__121);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_65appropriate_carryover, 0, __pyx_n_s_Model_appropriate_carryover, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3966, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_appropriate_carryover, __pyx_t_2) < 0) __PYX_ERR(0, 3966, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(4, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_appropriate_carryover, 3966, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 3966, __pyx_L1_error)
3967: #if pumping is turned 'off' because of san luis storage conditions,
3968: #any carryover water (up to the total potential pumping) is taken from the individual
3969: #district that owned it and redistributed to all districts as this year's allocation
+3970: remaining_carryover = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3970, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_remaining_carryover = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+3971: remaining_balance = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_remaining_balance = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+3972: for y in self.reservoir_contract[key]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3972, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3972, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3972, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3972, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3973: remaining_carryover[y.name] = 0.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_2, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3973, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3974: remaining_balance[y.name] = 0.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3974, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyDict_SetItem(__pyx_v_remaining_balance, __pyx_t_2, __pyx_float_0_0) < 0)) __PYX_ERR(0, 3974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3975: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3975, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3975, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3975, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3975, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3976: #find total amount of carryover that has not yet been delivered, by contract
+3977: for y in remaining_carryover:
__pyx_t_5 = 0;
__pyx_t_8 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3977, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_8;
__pyx_t_8 = 0;
while (1) {
__pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_8, NULL, NULL, __pyx_t_7);
if (unlikely(__pyx_t_9 == 0)) break;
if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 3977, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8);
__pyx_t_8 = 0;
+3978: remaining_carryover[y] += max(x.carryover[y] - x.deliveries[y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_8 = __pyx_v_y; __pyx_t_10 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = 0.0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Subtract(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = PyObject_RichCompare(__pyx_t_13, __pyx_t_14, Py_GT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_16) { __pyx_t_15 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __pyx_t_15; __pyx_t_15 = 0; } else { __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = __pyx_t_14; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceAdd(__pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_8, __pyx_t_14) < 0)) __PYX_ERR(0, 3978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3979: for x in self.private_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3979, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3979, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3979, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3979, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3979, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3980: for y in remaining_carryover:
__pyx_t_6 = 0;
__pyx_t_8 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_5), (&__pyx_t_7)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3980, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_2);
__pyx_t_2 = __pyx_t_8;
__pyx_t_8 = 0;
while (1) {
__pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_5, &__pyx_t_6, &__pyx_t_8, NULL, NULL, __pyx_t_7);
if (unlikely(__pyx_t_9 == 0)) break;
if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 3980, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8);
__pyx_t_8 = 0;
+3981: for z in x.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_14 = __pyx_t_8; __Pyx_INCREF(__pyx_t_14); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_18 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3981, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 3981, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_14, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 3981, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_14, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_18(__pyx_t_14); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3981, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3982: remaining_carryover[y] += max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_8 = __pyx_v_y; __pyx_t_12 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = 0.0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_z); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_z); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_10 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = PyObject_RichCompare(__pyx_t_10, __pyx_t_15, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_16) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_13 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_15); __pyx_t_13 = __pyx_t_15; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceAdd(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_8, __pyx_t_15) < 0)) __PYX_ERR(0, 3982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+3983: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3983, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3983, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 3983, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3983, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3984: for y in remaining_carryover:
__pyx_t_5 = 0;
__pyx_t_14 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_14;
__pyx_t_14 = 0;
while (1) {
__pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_6, &__pyx_t_5, &__pyx_t_14, NULL, NULL, __pyx_t_7);
if (unlikely(__pyx_t_9 == 0)) break;
if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 3984, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_14);
__pyx_t_14 = 0;
+3985: for z in x.district_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_8 = __pyx_t_14; __Pyx_INCREF(__pyx_t_8); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 3985, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_17); __Pyx_INCREF(__pyx_t_14); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 3985, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_17); __Pyx_INCREF(__pyx_t_14); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 3985, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_18(__pyx_t_8); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 3985, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+3986: remaining_carryover[y] += max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_14 = __pyx_v_y; __pyx_t_15 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_11 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_z); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_z); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_y); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_wateryear); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_t_13, __pyx_t_19); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = PyObject_RichCompare(__pyx_t_13, __pyx_t_12, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_16) { __pyx_t_10 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = __pyx_t_10; __pyx_t_10 = 0; } else { __Pyx_INCREF(__pyx_t_12); __pyx_t_19 = __pyx_t_12; } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_19); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_14, __pyx_t_12) < 0)) __PYX_ERR(0, 3986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
3987:
+3988: total_remaining = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_remaining = __pyx_float_0_0;
+3989: for y in remaining_carryover:
__pyx_t_3 = 0; __pyx_t_1 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_6), (&__pyx_t_7)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = __pyx_t_1; __pyx_t_1 = 0; while (1) { __pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_6, &__pyx_t_3, &__pyx_t_1, NULL, NULL, __pyx_t_7); if (unlikely(__pyx_t_9 == 0)) break; if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 3989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0;
3990: #total the carryover for each contract at that reservoir
+3991: total_remaining += remaining_carryover[y]
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_total_remaining, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_total_remaining, __pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+3992: if total_remaining > 0.0:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_total_remaining, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3992, __pyx_L1_error) __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 3992, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_16) { /* … */ }
3993: #what % of carryover needs to be taken
+3994: carryover_fraction = min(forgone/total_remaining, 1.0)
__pyx_t_11 = 1.0;
__pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_v_forgone, __pyx_v_total_remaining); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_14 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
if (__pyx_t_16) {
__pyx_t_14 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_8 = __pyx_t_14;
__pyx_t_14 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_8 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_8;
__Pyx_INCREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_carryover_fraction = __pyx_t_2;
__pyx_t_2 = 0;
+3995: for y in remaining_carryover:
__pyx_t_6 = 0;
__pyx_t_8 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_3), (&__pyx_t_7)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_2);
__pyx_t_2 = __pyx_t_8;
__pyx_t_8 = 0;
while (1) {
__pyx_t_9 = __Pyx_dict_iter_next(__pyx_t_2, __pyx_t_3, &__pyx_t_6, &__pyx_t_8, NULL, NULL, __pyx_t_7);
if (unlikely(__pyx_t_9 == 0)) break;
if (unlikely(__pyx_t_9 == -1)) __PYX_ERR(0, 3995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8);
__pyx_t_8 = 0;
+3996: current_contract = self.contract_keys[y]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3996, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_current_contract, __pyx_t_14); __pyx_t_14 = 0;
3997: #carryover contracts canceled
+3998: current_contract.tot_carryover -= remaining_carryover[y]*carryover_fraction
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_contract, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 3998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_v_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = PyNumber_Multiply(__pyx_t_8, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceSubtract(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 3998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_current_contract, __pyx_n_s_tot_carryover, __pyx_t_8) < 0) __PYX_ERR(0, 3998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
3999: #'new allocation' credited to the contract
+4000: self.pumping_turnback[key] -= remaining_carryover[y]*carryover_fraction
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_pumping_turnback); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_key); __pyx_t_1 = __pyx_v_key; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_12 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_v_y); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_19 = PyNumber_Multiply(__pyx_t_12, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_InPlaceSubtract(__pyx_t_14, __pyx_t_19); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_1, __pyx_t_12) < 0)) __PYX_ERR(0, 4000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4001: for x in self.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; __pyx_t_4 = NULL; } else { __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4001, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4001, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4001, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4001, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4002: x.carryover[y] -= max(x.carryover[y] - x.deliveries[y][wateryear], 0.0)*carryover_fraction
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_INCREF(__pyx_v_y); __pyx_t_12 = __pyx_v_y; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_12); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_11 = 0.0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_wateryear); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Subtract(__pyx_t_15, __pyx_t_14); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_15 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_13 = PyObject_RichCompare(__pyx_t_15, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_16) { __pyx_t_13 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __pyx_t_13; __pyx_t_13 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_14 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_14, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceSubtract(__pyx_t_19, __pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_12, __pyx_t_14) < 0)) __PYX_ERR(0, 4002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4003: for x in self.private_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_5 = 0; __pyx_t_4 = NULL; } else { __pyx_t_5 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4003, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4003, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4003, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_8); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4003, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4004: for z in x.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_12 = __pyx_t_1; __Pyx_INCREF(__pyx_t_12); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_18 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4004, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_17); __Pyx_INCREF(__pyx_t_1); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 4004, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_17); __Pyx_INCREF(__pyx_t_1); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 4004, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_18(__pyx_t_12); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4004, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+4005: x.carryover[z][y] -= max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)*carryover_fraction
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_z); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_y); __pyx_t_1 = __pyx_v_y; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = 0.0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_z); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_y); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_z); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_wateryear); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Subtract(__pyx_t_19, __pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_19 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = PyObject_RichCompare(__pyx_t_19, __pyx_t_13, Py_GT); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_16) { __pyx_t_20 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_15 = __pyx_t_20; __pyx_t_20 = 0; } else { __Pyx_INCREF(__pyx_t_13); __pyx_t_15 = __pyx_t_13; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_15, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceSubtract(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_t_1, __pyx_t_15) < 0)) __PYX_ERR(0, 4005, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+4006: for x in self.city_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_12 = __pyx_t_8; __Pyx_INCREF(__pyx_t_12); __pyx_t_5 = 0; __pyx_t_4 = NULL; } else { __pyx_t_5 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_4 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4006, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4006, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_12, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 4006, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_12, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_4(__pyx_t_12); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4006, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4007: for z in x.district_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_14 = __pyx_t_8; __Pyx_INCREF(__pyx_t_14); __pyx_t_17 = 0; __pyx_t_18 = NULL; } else { __pyx_t_17 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_18 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4007, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_18)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_17 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 4007, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_14, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_17 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_17); __Pyx_INCREF(__pyx_t_8); __pyx_t_17++; if (unlikely(0 < 0)) __PYX_ERR(0, 4007, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_14, __pyx_t_17); __pyx_t_17++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_18(__pyx_t_14); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4007, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+4008: x.carryover[z][y] -= max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)*carryover_fraction
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_v_y); __pyx_t_8 = __pyx_v_y; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_11 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_z); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_z); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_20, __pyx_v_y); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_wateryear); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Subtract(__pyx_t_13, __pyx_t_20); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_19 = PyObject_RichCompare(__pyx_t_13, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_16 < 0)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_16) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_20 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_20, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_InPlaceSubtract(__pyx_t_15, __pyx_t_10); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_8, __pyx_t_20) < 0)) __PYX_ERR(0, 4008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4009:
+4010: def update_carryover(self, spill, key, wateryear):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_67update_carryover(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_67update_carryover = {"update_carryover", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_67update_carryover, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_67update_carryover(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_spill = 0;
PyObject *__pyx_v_key = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_carryover (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_spill,&__pyx_n_s_key,&__pyx_n_s_wateryear,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_spill)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_carryover", 1, 4, 4, 1); __PYX_ERR(0, 4010, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_key)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_carryover", 1, 4, 4, 2); __PYX_ERR(0, 4010, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_carryover", 1, 4, 4, 3); __PYX_ERR(0, 4010, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "update_carryover") < 0)) __PYX_ERR(0, 4010, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_spill = values[1];
__pyx_v_key = values[2];
__pyx_v_wateryear = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("update_carryover", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4010, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_carryover", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_66update_carryover(__pyx_self, __pyx_v_self, __pyx_v_spill, __pyx_v_key, __pyx_v_wateryear);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_66update_carryover(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_spill, PyObject *__pyx_v_key, PyObject *__pyx_v_wateryear) {
PyObject *__pyx_v_remaining_carryover = NULL;
PyObject *__pyx_v_carryover_fraction = NULL;
PyObject *__pyx_v_z = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_total_remaining = NULL;
PyObject *__pyx_v_current_contract = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__58)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_carryover", 0);
__Pyx_TraceCall("update_carryover", __pyx_f[0], 4010, 0, __PYX_ERR(0, 4010, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_carryover", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_remaining_carryover);
__Pyx_XDECREF(__pyx_v_carryover_fraction);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_total_remaining);
__Pyx_XDECREF(__pyx_v_current_contract);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__122 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_spill, __pyx_n_s_key, __pyx_n_s_wateryear, __pyx_n_s_remaining_carryover, __pyx_n_s_carryover_fraction, __pyx_n_s_z, __pyx_n_s_y, __pyx_n_s_x, __pyx_n_s_total_remaining, __pyx_n_s_current_contract); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__122);
__Pyx_GIVEREF(__pyx_tuple__122);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_67update_carryover, 0, __pyx_n_s_Model_update_carryover, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_update_carryover, __pyx_t_2) < 0) __PYX_ERR(0, 4010, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(4, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_update_carryover, 4010, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 4010, __pyx_L1_error)
4011: #This function is meant to take a flood release and subtract it either from
4012: #existing carryover or projected contract deliveries
+4013: remaining_carryover = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_remaining_carryover = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+4014: carryover_fraction = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_carryover_fraction = __pyx_float_0_0;
4015: #loop through the canals associated with the reservoir, 'key'
+4016: for z in self.reservoir_canal[key]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4016, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4016, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4016, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4016, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4016, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4017: #what contracts are deliveried on that canal
+4018: for y in self.canal_contract[z.name]:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_5 = __pyx_t_6; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4018, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4018, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4018, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_8(__pyx_t_5); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4018, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4019: #initialize remaining carryover variable
4020: #this also makes a list of all contracts w/carryover (for looping later)
+4021: remaining_carryover[y.name] = 0.0
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_6, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4021, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4022:
4023: #find total carryover (district carryover balances that have not yet been delivered)
+4024: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4024, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4024, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4024, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4024, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4025: for y in remaining_carryover:
__pyx_t_7 = 0;
__pyx_t_6 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4025, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_6;
__pyx_t_6 = 0;
while (1) {
__pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_7, &__pyx_t_6, NULL, NULL, __pyx_t_10);
if (unlikely(__pyx_t_11 == 0)) break;
if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 4025, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_6);
__pyx_t_6 = 0;
+4026: remaining_carryover[y] += max(x.carryover[y] - x.deliveries[y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_6 = __pyx_v_y; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_wateryear); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Subtract(__pyx_t_14, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_14 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = PyObject_RichCompare(__pyx_t_14, __pyx_t_15, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_17) { __pyx_t_16 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_13 = __pyx_t_16; __pyx_t_16 = 0; } else { __Pyx_INCREF(__pyx_t_15); __pyx_t_13 = __pyx_t_15; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceAdd(__pyx_t_2, __pyx_t_13); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_6, __pyx_t_15) < 0)) __PYX_ERR(0, 4026, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4027: for x in self.private_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4027, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4027, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4027, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4027, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4027, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4028: for y in remaining_carryover:
__pyx_t_9 = 0;
__pyx_t_6 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_7), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5);
__pyx_t_5 = __pyx_t_6;
__pyx_t_6 = 0;
while (1) {
__pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_7, &__pyx_t_9, &__pyx_t_6, NULL, NULL, __pyx_t_10);
if (unlikely(__pyx_t_11 == 0)) break;
if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 4028, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_6);
__pyx_t_6 = 0;
+4029: for z in x.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_15 = __pyx_t_6; __Pyx_INCREF(__pyx_t_15); __pyx_t_18 = 0; __pyx_t_8 = NULL; } else { __pyx_t_18 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4029, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_15))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_18); __Pyx_INCREF(__pyx_t_6); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4029, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_15, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_18); __Pyx_INCREF(__pyx_t_6); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4029, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_15, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_8(__pyx_t_15); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4029, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4030: remaining_carryover[y] += max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_6 = __pyx_v_y; __pyx_t_13 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = 0.0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_z); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_z); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_wateryear); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Subtract(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_2 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_19 = PyObject_RichCompare(__pyx_t_2, __pyx_t_16, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_17) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_14 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_16); __pyx_t_14 = __pyx_t_16; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_6, __pyx_t_16) < 0)) __PYX_ERR(0, 4030, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4031: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4031, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4031, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4031, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4031, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4031, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4032: for y in remaining_carryover:
__pyx_t_7 = 0;
__pyx_t_15 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_15;
__pyx_t_15 = 0;
while (1) {
__pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_7, &__pyx_t_15, NULL, NULL, __pyx_t_10);
if (unlikely(__pyx_t_11 == 0)) break;
if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 4032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_15);
__pyx_t_15 = 0;
+4033: for z in x.district_list:
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (likely(PyList_CheckExact(__pyx_t_15)) || PyTuple_CheckExact(__pyx_t_15)) { __pyx_t_6 = __pyx_t_15; __Pyx_INCREF(__pyx_t_6); __pyx_t_18 = 0; __pyx_t_8 = NULL; } else { __pyx_t_18 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_15); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4033, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_t_15); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4033, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_6, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_15 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_t_15); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4033, __pyx_L1_error) #else __pyx_t_15 = PySequence_ITEM(__pyx_t_6, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4033, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); #endif } } else { __pyx_t_15 = __pyx_t_8(__pyx_t_6); if (unlikely(!__pyx_t_15)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4033, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_15); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_15); __pyx_t_15 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4034: remaining_carryover[y] += max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)
__Pyx_INCREF(__pyx_v_y); __pyx_t_15 = __pyx_v_y; __pyx_t_16 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = 0.0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_z); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_z); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_wateryear); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Subtract(__pyx_t_14, __pyx_t_19); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_14 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = PyObject_RichCompare(__pyx_t_14, __pyx_t_13, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_17) { __pyx_t_2 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_19 = __pyx_t_2; __pyx_t_2 = 0; } else { __Pyx_INCREF(__pyx_t_13); __pyx_t_19 = __pyx_t_13; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_InPlaceAdd(__pyx_t_16, __pyx_t_19); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyDict_SetItem(__pyx_v_remaining_carryover, __pyx_t_15, __pyx_t_13) < 0)) __PYX_ERR(0, 4034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
4035:
4036: #sum carryover in all contracts on that reservoir
+4037: total_remaining = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_remaining = __pyx_float_0_0;
+4038: for y in remaining_carryover:#loop over all contracts w/carryover balances
__pyx_t_3 = 0; __pyx_t_1 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_10)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = __pyx_t_1; __pyx_t_1 = 0; while (1) { __pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_9, &__pyx_t_3, &__pyx_t_1, NULL, NULL, __pyx_t_10); if (unlikely(__pyx_t_11 == 0)) break; if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 4038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0;
+4039: total_remaining += remaining_carryover[y]
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_v_y); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_total_remaining, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_total_remaining, __pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4040:
4041: #if there is carryover - what % needs to be taken to make up for spillage
+4042: if total_remaining > 0.0:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_total_remaining, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4042, __pyx_L1_error) __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4042, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_17) { /* … */ goto __pyx_L25; }
+4043: carryover_fraction = min(spill/total_remaining, 1.0)
__pyx_t_12 = 1.0;
__pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_v_spill, __pyx_v_total_remaining); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_15 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_15); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_15); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
if (__pyx_t_17) {
__pyx_t_15 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_6 = __pyx_t_15;
__pyx_t_15 = 0;
} else {
__Pyx_INCREF(__pyx_t_5);
__pyx_t_6 = __pyx_t_5;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __pyx_t_6;
__Pyx_INCREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_carryover_fraction, __pyx_t_5);
__pyx_t_5 = 0;
4044:
4045: #if there is more spill than remaining carryover, need to add to the contract adjustment (this amount is subtracted from total contract allocation)
+4046: self.allocation_losses[key] += max(spill - total_remaining*carryover_fraction, 0.0)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __pyx_t_6 = __pyx_v_key; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = 0.0; __pyx_t_1 = PyNumber_Multiply(__pyx_v_total_remaining, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = PyNumber_Subtract(__pyx_v_spill, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_19 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_16 = PyObject_RichCompare(__pyx_t_19, __pyx_t_13, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_17) { __pyx_t_16 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_1 = __pyx_t_16; __pyx_t_16 = 0; } else { __Pyx_INCREF(__pyx_t_13); __pyx_t_1 = __pyx_t_13; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_6, __pyx_t_13) < 0)) __PYX_ERR(0, 4046, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4047: self.allocation_losses[key] += max(spill - total_remaining*carryover_fraction, 0.0)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_key); __pyx_t_6 = __pyx_v_key; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = 0.0; __pyx_t_1 = PyNumber_Multiply(__pyx_v_total_remaining, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyNumber_Subtract(__pyx_v_spill, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_16 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_19 = PyObject_RichCompare(__pyx_t_16, __pyx_t_15, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_17) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_1 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_15); __pyx_t_1 = __pyx_t_15; } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_6, __pyx_t_15) < 0)) __PYX_ERR(0, 4047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4048:
+4049: for y in remaining_carryover:#loop over all contracts w/carryover balances
__pyx_t_9 = 0;
__pyx_t_6 = __Pyx_dict_iterator(__pyx_v_remaining_carryover, 1, ((PyObject *)NULL), (&__pyx_t_3), (&__pyx_t_10)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_5);
__pyx_t_5 = __pyx_t_6;
__pyx_t_6 = 0;
while (1) {
__pyx_t_11 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_3, &__pyx_t_9, &__pyx_t_6, NULL, NULL, __pyx_t_10);
if (unlikely(__pyx_t_11 == 0)) break;
if (unlikely(__pyx_t_11 == -1)) __PYX_ERR(0, 4049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_6);
__pyx_t_6 = 0;
4050: #reduce overall contract carryover balance
+4051: current_contract = self.contract_keys[y]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_current_contract, __pyx_t_15); __pyx_t_15 = 0;
+4052: current_contract.tot_carryover -= remaining_carryover[y]*carryover_fraction
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_current_contract, __pyx_n_s_tot_carryover); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_remaining_carryover, __pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyNumber_Multiply(__pyx_t_6, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceSubtract(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_current_contract, __pyx_n_s_tot_carryover, __pyx_t_6) < 0) __PYX_ERR(0, 4052, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4053: #reduce individual contract carryover balance (only on undelivered carryover
+4054: for x in self.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; __pyx_t_4 = NULL; } else { __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4054, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4054, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4054, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_4(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4054, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4055: x.carryover[y] -= max(x.carryover[y] - x.deliveries[y][wateryear], 0.0)*carryover_fraction
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_y); __pyx_t_15 = __pyx_v_y; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_15); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = 0.0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_y); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_wateryear); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_16, __pyx_t_19); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_16 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = PyObject_RichCompare(__pyx_t_16, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_17) { __pyx_t_14 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_19 = __pyx_t_14; __pyx_t_14 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_19 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_19, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceSubtract(__pyx_t_13, __pyx_t_2); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_15, __pyx_t_19) < 0)) __PYX_ERR(0, 4055, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4056: for x in self.private_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0; __pyx_t_4 = NULL; } else { __pyx_t_7 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4056, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4056, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4056, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_6); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4056, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4057: for z in x.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_15 = __pyx_t_1; __Pyx_INCREF(__pyx_t_15); __pyx_t_18 = 0; __pyx_t_8 = NULL; } else { __pyx_t_18 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_8 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4057, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_15))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_18); __Pyx_INCREF(__pyx_t_1); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4057, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_15, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_18); __Pyx_INCREF(__pyx_t_1); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4057, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_15, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_8(__pyx_t_15); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4057, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+4058: x.carryover[z][y] -= max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)*carryover_fraction
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_z); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_INCREF(__pyx_v_y); __pyx_t_1 = __pyx_v_y; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = 0.0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_z); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_z); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_wateryear); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Subtract(__pyx_t_13, __pyx_t_16); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_13 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_20 = PyObject_RichCompare(__pyx_t_13, __pyx_t_14, Py_GT); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (__pyx_t_17) { __pyx_t_20 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_16 = __pyx_t_20; __pyx_t_20 = 0; } else { __Pyx_INCREF(__pyx_t_14); __pyx_t_16 = __pyx_t_14; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_16, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_InPlaceSubtract(__pyx_t_2, __pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_1, __pyx_t_16) < 0)) __PYX_ERR(0, 4058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+4059: for x in self.city_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_15 = __pyx_t_6; __Pyx_INCREF(__pyx_t_15); __pyx_t_7 = 0; __pyx_t_4 = NULL; } else { __pyx_t_7 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_4 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4059, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_15))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4059, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_15, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4059, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_15, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_4(__pyx_t_15); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4059, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4060: for z in x.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_19 = __pyx_t_6; __Pyx_INCREF(__pyx_t_19); __pyx_t_18 = 0; __pyx_t_8 = NULL; } else { __pyx_t_18 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_8 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4060, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_19))) { if (__pyx_t_18 >= PyList_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_6); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4060, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_18 >= PyTuple_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_18); __Pyx_INCREF(__pyx_t_6); __pyx_t_18++; if (unlikely(0 < 0)) __PYX_ERR(0, 4060, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_19, __pyx_t_18); __pyx_t_18++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_8(__pyx_t_19); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4060, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+4061: x.carryover[z][y] -= max(x.carryover[z][y] - x.deliveries[z][y][wateryear], 0.0)*carryover_fraction
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_z); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_v_y); __pyx_t_6 = __pyx_v_y; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_12 = 0.0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_z); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_y); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_deliveries); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_z); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_20, __pyx_v_y); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_wateryear); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_14, __pyx_t_20); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_14 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_13 = PyObject_RichCompare(__pyx_t_14, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_13); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_17) { __pyx_t_13 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_20 = __pyx_t_13; __pyx_t_13 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_20 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_20, __pyx_v_carryover_fraction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyNumber_InPlaceSubtract(__pyx_t_16, __pyx_t_2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_6, __pyx_t_20) < 0)) __PYX_ERR(0, 4061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4062:
4063: else:
4064: #if no carryover, just add the spill to the contract adjustment (this amount is subtracted from total contract allocation)
+4065: self.allocation_losses[key] += max(spill, 0.0)
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_allocation_losses); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_key);
__pyx_t_15 = __pyx_v_key;
__pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_15); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_t_12 = 0.0;
__Pyx_INCREF(__pyx_v_spill);
__pyx_t_1 = __pyx_v_spill;
__pyx_t_20 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_20);
__pyx_t_2 = PyObject_RichCompare(__pyx_t_20, __pyx_t_1, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
__pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_17 < 0)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_17) {
__pyx_t_2 = PyFloat_FromDouble(__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = __pyx_t_2;
__pyx_t_2 = 0;
} else {
__Pyx_INCREF(__pyx_t_1);
__pyx_t_6 = __pyx_t_1;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_19, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_15, __pyx_t_1) < 0)) __PYX_ERR(0, 4065, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_L25:;
4066:
+4067: def find_recharge_bank(self,m,wyt):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_69find_recharge_bank(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_69find_recharge_bank = {"find_recharge_bank", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_69find_recharge_bank, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_69find_recharge_bank(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_m = 0;
CYTHON_UNUSED PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_bank (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_m,&__pyx_n_s_wyt,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_bank", 1, 3, 3, 1); __PYX_ERR(0, 4067, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_bank", 1, 3, 3, 2); __PYX_ERR(0, 4067, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_recharge_bank") < 0)) __PYX_ERR(0, 4067, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_m = values[1];
__pyx_v_wyt = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_recharge_bank", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4067, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_68find_recharge_bank(__pyx_self, __pyx_v_self, __pyx_v_m, __pyx_v_wyt);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_68find_recharge_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_m, CYTHON_UNUSED PyObject *__pyx_v_wyt) {
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_member = NULL;
PyObject *__pyx_v_num_districts = NULL;
PyObject *__pyx_v_irr_district = NULL;
PyObject *__pyx_v_res = NULL;
PyObject *__pyx_v_decline_coef = NULL;
PyObject *__pyx_v_m_counter = NULL;
PyObject *__pyx_v_decline_counter = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__59)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_bank", 0);
__Pyx_TraceCall("find_recharge_bank", __pyx_f[0], 4067, 0, __PYX_ERR(0, 4067, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_21);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_member);
__Pyx_XDECREF(__pyx_v_num_districts);
__Pyx_XDECREF(__pyx_v_irr_district);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XDECREF(__pyx_v_decline_coef);
__Pyx_XDECREF(__pyx_v_m_counter);
__Pyx_XDECREF(__pyx_v_decline_counter);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__123 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_wyt, __pyx_n_s_w, __pyx_n_s_member, __pyx_n_s_num_districts, __pyx_n_s_irr_district, __pyx_n_s_res, __pyx_n_s_decline_coef, __pyx_n_s_m_counter, __pyx_n_s_decline_counter); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(0, 4067, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__123);
__Pyx_GIVEREF(__pyx_tuple__123);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_69find_recharge_bank, 0, __pyx_n_s_Model_find_recharge_bank, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4067, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_recharge_bank, __pyx_t_2) < 0) __PYX_ERR(0, 4067, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(3, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_recharge_bank, 4067, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 4067, __pyx_L1_error)
4068:
4069: ###this function projects the total GW recharge
4070: ###capacity in each waterbank out 12 months, and then allocates
4071: ###that capacity to individual districts based on their
4072: ###ownership stake in teh waterbank
4073:
+4074: for w in self.waterbank_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4074, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4074, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4074, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4074, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4075: ##direct recharge capacity is directly related to
4076: ##how long the banks have been used continuously
4077: #this month use tracks if the bank has been used in the past month
+4078: if w.thismonthuse == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_thismonthuse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4078, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4078, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ goto __pyx_L5; }
+4079: w.monthusecounter += 1
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_t_1) < 0) __PYX_ERR(0, 4079, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4080: w.monthemptycounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter, __pyx_int_0) < 0) __PYX_ERR(0, 4080, __pyx_L1_error)
+4081: if w.monthusecounter > 11:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4081, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4082: w.monthusecounter = 11
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_int_11) < 0) __PYX_ERR(0, 4082, __pyx_L1_error)
4083: #this function describes how recharge rate declines over time
+4084: w.recharge_rate *= w.recharge_decline[w.monthusecounter]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceMultiply(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_7) < 0) __PYX_ERR(0, 4084, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4085: else:
4086: #in order for recharge rate to 'bounce back', needs 3 months of
4087: #continuous non-use
+4088: w.monthemptycounter += 1
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4088, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_7, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4088, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter, __pyx_t_8) < 0) __PYX_ERR(0, 4088, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4089: if w.monthemptycounter == 3:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_8, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4089, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4089, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_6) { /* … */ } } __pyx_L5:;
+4090: w.monthusecounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_int_0) < 0) __PYX_ERR(0, 4090, __pyx_L1_error)
+4091: w.recharge_rate = w.initial_recharge*cfs_tafd
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_initial_recharge); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = PyNumber_Multiply(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_5) < 0) __PYX_ERR(0, 4091, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4092: w.thismonthuse = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_thismonthuse, __pyx_int_0) < 0) __PYX_ERR(0, 4092, __pyx_L1_error)
4093: #if m == 10:
4094: #w.recharge_rate = w.initial_recharge*cfs_tafd
4095: ###distribute this recharge capacity among districts (based on ownership share)
+4096: for member in w.participant_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4096, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 4096, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_t_5); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 4096, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_10(__pyx_t_8); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4096, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4097: num_districts = self.district_keys_len[member]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_member); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_num_districts, __pyx_t_7); __pyx_t_7 = 0;
+4098: for irr_district in self.district_keys[member]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_member); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4098, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4098, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4098, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4098, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4099: irr_district.total_banked_storage += w.banked[member]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_total_banked_storage); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_banked); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_irr_district, __pyx_n_s_total_banked_storage, __pyx_t_1) < 0) __PYX_ERR(0, 4099, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4100: irr_district.max_direct_recharge[0] += w.ownership[member]*w.recharge_rate/num_districts
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_1, __pyx_t_14, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_ownership); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_member); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = PyNumber_Multiply(__pyx_t_15, __pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_16, __pyx_v_num_districts); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, __pyx_t_14, __pyx_t_16, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4100, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4101: for res in self.reservoir_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_16 = __pyx_t_1; __Pyx_INCREF(__pyx_t_16); __pyx_t_14 = 0; __pyx_t_17 = NULL; } else { __pyx_t_14 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4101, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_16))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 4101, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_16, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_14); __Pyx_INCREF(__pyx_t_1); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 4101, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_16, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4101, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_17(__pyx_t_16); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4101, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+4102: if irr_district.reservoir_contract[res.key] == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_13, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4103: res.max_direct_recharge[0] += w.ownership[member]*w.recharge_rate/num_districts
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, __pyx_t_18, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_19 = PyNumber_Multiply(__pyx_t_15, __pyx_t_1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_19, __pyx_v_num_districts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_t_18, __pyx_t_19, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4103, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4104: ##each month of consecutive use results in the recharge capacity of the bank declining
4105: ##we want to know what is the recharge capacity available in the future, considering
4106: ##continuous use from this point on
+4107: decline_coef = 1.0
__Pyx_INCREF(__pyx_float_1_0); __Pyx_XDECREF_SET(__pyx_v_decline_coef, __pyx_float_1_0);
+4108: for m_counter in range(1,12):
for (__pyx_t_20 = 1; __pyx_t_20 < 12; __pyx_t_20+=1) {
__pyx_t_16 = __Pyx_PyInt_From_long(__pyx_t_20); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4108, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_XDECREF_SET(__pyx_v_m_counter, __pyx_t_16);
__pyx_t_16 = 0;
+4109: decline_counter = w.monthusecounter + m_counter
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_5 = PyNumber_Add(__pyx_t_16, __pyx_v_m_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4109, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF_SET(__pyx_v_decline_counter, __pyx_t_5); __pyx_t_5 = 0;
+4110: if decline_counter > 11:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_decline_counter, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4110, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4110, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4111: decline_counter = 11
__Pyx_INCREF(__pyx_int_11); __Pyx_DECREF_SET(__pyx_v_decline_counter, __pyx_int_11);
+4112: decline_coef *= w.recharge_decline[decline_counter]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_decline_counter); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceMultiply(__pyx_v_decline_coef, __pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4112, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_decline_coef, __pyx_t_5); __pyx_t_5 = 0;
+4113: irr_district.max_direct_recharge[m_counter] += w.ownership[member]*w.recharge_rate*decline_coef/num_districts
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_16 = __pyx_v_m_counter; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = PyNumber_Multiply(__pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_15, __pyx_v_decline_coef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_num_districts); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_19, __pyx_t_15); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_16, __pyx_t_1) < 0)) __PYX_ERR(0, 4113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4114: for res in self.reservoir_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_16 = __pyx_t_5; __Pyx_INCREF(__pyx_t_16); __pyx_t_14 = 0; __pyx_t_17 = NULL; } else { __pyx_t_14 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4114, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_16))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 4114, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_16, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_14); __Pyx_INCREF(__pyx_t_5); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 4114, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_16, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4114, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_17(__pyx_t_16); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4114, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; }
+4115: if irr_district.reservoir_contract[res.key] == 1:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_15, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4115, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_6) { /* … */ }
+4116: res.max_direct_recharge[m_counter] += w.ownership[member]*w.recharge_rate*decline_coef/num_districts
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_15 = __pyx_v_m_counter; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_15); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_ownership); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_member); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_21 = PyNumber_Multiply(__pyx_t_13, __pyx_t_19); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_21, __pyx_v_decline_coef); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; __pyx_t_21 = __Pyx_PyNumber_Divide(__pyx_t_19, __pyx_v_num_districts); if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_21); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_21); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_21); __pyx_t_21 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_15, __pyx_t_19) < 0)) __PYX_ERR(0, 4116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4117:
+4118: def find_leiu_exchange(self, wateryear, dowy):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_71find_leiu_exchange(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_71find_leiu_exchange = {"find_leiu_exchange", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_71find_leiu_exchange, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_71find_leiu_exchange(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_leiu_exchange (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_wateryear,&__pyx_n_s_dowy,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_leiu_exchange", 1, 3, 3, 1); __PYX_ERR(0, 4118, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_leiu_exchange", 1, 3, 3, 2); __PYX_ERR(0, 4118, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_leiu_exchange") < 0)) __PYX_ERR(0, 4118, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_wateryear = values[1];
__pyx_v_dowy = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_leiu_exchange", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4118, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_leiu_exchange", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_70find_leiu_exchange(__pyx_self, __pyx_v_self, __pyx_v_wateryear, __pyx_v_dowy);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_70find_leiu_exchange(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_wateryear, PyObject *__pyx_v_dowy) {
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_participant_object = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_v_contract_trade = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__60)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_leiu_exchange", 0);
__Pyx_TraceCall("find_leiu_exchange", __pyx_f[0], 4118, 0, __PYX_ERR(0, 4118, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_leiu_exchange", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_participant_object);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XDECREF(__pyx_v_contract_trade);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__124 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_wateryear, __pyx_n_s_dowy, __pyx_n_s_w, __pyx_n_s_xx, __pyx_n_s_participant_object, __pyx_n_s_y, __pyx_n_s_yy, __pyx_n_s_contract_trade); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 4118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__124);
__Pyx_GIVEREF(__pyx_tuple__124);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_71find_leiu_exchange, 0, __pyx_n_s_Model_find_leiu_exchange, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_leiu_exchange, __pyx_t_2) < 0) __PYX_ERR(0, 4118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__124, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_leiu_exchange, 4118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 4118, __pyx_L1_error)
+4119: for w in self.leiu_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4119, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4119, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4119, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4119, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4119, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4120: for xx in w.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4120, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4120, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4120, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4120, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4120, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4121: participant_object = self.district_keys[xx]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_participant_object, __pyx_t_8); __pyx_t_8 = 0;
+4122: for y in w.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_1 = __pyx_t_8; __Pyx_INCREF(__pyx_t_1); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4122, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 4122, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_9); __Pyx_INCREF(__pyx_t_8); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 4122, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_1, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4122, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4123: for yy in participant_object.contract_list:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_participant_object, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_11 = __pyx_t_8; __Pyx_INCREF(__pyx_t_11); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4123, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4123, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4123, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_11, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_13(__pyx_t_11); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4123, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+4124: if yy == y:
__pyx_t_8 = PyObject_RichCompare(__pyx_v_yy, __pyx_v_y, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4124, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4124, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_14) { /* … */ }
+4125: if dowy < 180:
__pyx_t_8 = PyObject_RichCompare(__pyx_v_dowy, __pyx_int_180, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4125, __pyx_L1_error) __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L12; }
+4126: contract_trade = self.contract_keys[y]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_trade, __pyx_t_15); __pyx_t_15 = 0;
+4127: if contract_trade.type == 'right':
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_trade, __pyx_n_s_type); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_14 = (__Pyx_PyUnicode_Equals(__pyx_t_15, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4127, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; if (__pyx_t_14) { /* … */ goto __pyx_L13; }
+4128: participant_object.max_leiu_exchange += max(w.rights[y]['capacity'] * contract_trade.total * w.leiu_ownership[xx], 0.0)
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_16 = 0.0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_rights); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_17, __pyx_n_u_capacity); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_trade, __pyx_n_s_total); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = PyNumber_Multiply(__pyx_t_8, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Multiply(__pyx_t_18, __pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_18 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = PyObject_RichCompare(__pyx_t_18, __pyx_t_17, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_14) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_8 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_17); __pyx_t_8 = __pyx_t_17; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_8); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange, __pyx_t_17) < 0) __PYX_ERR(0, 4128, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
4129: else:
+4130: participant_object.max_leiu_exchange += max(w.project_contract[y] * contract_trade.total * w.leiu_ownership[xx], 0.0)
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_16 = 0.0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_y); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_contract_trade, __pyx_n_s_total); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_19 = PyNumber_Multiply(__pyx_t_15, __pyx_t_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Multiply(__pyx_t_19, __pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_19 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_t_18 = PyObject_RichCompare(__pyx_t_19, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
if (__pyx_t_14) {
__pyx_t_18 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_15 = __pyx_t_18;
__pyx_t_18 = 0;
} else {
__Pyx_INCREF(__pyx_t_8);
__pyx_t_15 = __pyx_t_8;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange, __pyx_t_8) < 0) __PYX_ERR(0, 4130, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L13:;
4131: else:
+4132: participant_object.max_leiu_exchange += max(w.projected_supply[y] * w.leiu_ownership[xx], 0.0)
/*else*/ {
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_16 = 0.0;
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_y); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = PyNumber_Multiply(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_17 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_19 = PyObject_RichCompare(__pyx_t_17, __pyx_t_15, Py_GT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_14 < 0)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
if (__pyx_t_14) {
__pyx_t_19 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__pyx_t_18 = __pyx_t_19;
__pyx_t_19 = 0;
} else {
__Pyx_INCREF(__pyx_t_15);
__pyx_t_18 = __pyx_t_15;
}
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__pyx_t_15 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_18); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_participant_object, __pyx_n_s_max_leiu_exchange, __pyx_t_15) < 0) __PYX_ERR(0, 4132, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
__pyx_L12:;
4133:
+4134: def find_recharge_leiu(self,m,wyt):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_73find_recharge_leiu(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_73find_recharge_leiu = {"find_recharge_leiu", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_73find_recharge_leiu, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_73find_recharge_leiu(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_leiu (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_m,&__pyx_n_s_wyt,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_leiu", 1, 3, 3, 1); __PYX_ERR(0, 4134, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_leiu", 1, 3, 3, 2); __PYX_ERR(0, 4134, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_recharge_leiu") < 0)) __PYX_ERR(0, 4134, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_m = values[1];
__pyx_v_wyt = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_recharge_leiu", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4134, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_leiu", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_72find_recharge_leiu(__pyx_self, __pyx_v_self, __pyx_v_m, __pyx_v_wyt);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_72find_recharge_leiu(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_m, PyObject *__pyx_v_wyt) {
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_bank_total_supply = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_member = NULL;
PyObject *__pyx_v_num_districts = NULL;
PyObject *__pyx_v_irr_district = NULL;
PyObject *__pyx_v_res = NULL;
PyObject *__pyx_v_decline_coef = NULL;
PyObject *__pyx_v_m_counter = NULL;
PyObject *__pyx_v_decline_counter = NULL;
PyObject *__pyx_v_future_month = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__61)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_leiu", 0);
__Pyx_TraceCall("find_recharge_leiu", __pyx_f[0], 4134, 0, __PYX_ERR(0, 4134, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_leiu", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_bank_total_supply);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_member);
__Pyx_XDECREF(__pyx_v_num_districts);
__Pyx_XDECREF(__pyx_v_irr_district);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XDECREF(__pyx_v_decline_coef);
__Pyx_XDECREF(__pyx_v_m_counter);
__Pyx_XDECREF(__pyx_v_decline_counter);
__Pyx_XDECREF(__pyx_v_future_month);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__125 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_wyt, __pyx_n_s_w, __pyx_n_s_bank_total_supply, __pyx_n_s_y, __pyx_n_s_member, __pyx_n_s_num_districts, __pyx_n_s_irr_district, __pyx_n_s_res, __pyx_n_s_decline_coef, __pyx_n_s_m_counter, __pyx_n_s_decline_counter, __pyx_n_s_future_month); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 4134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__125);
__Pyx_GIVEREF(__pyx_tuple__125);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_73find_recharge_leiu, 0, __pyx_n_s_Model_find_recharge_leiu, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4134, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_recharge_leiu, __pyx_t_2) < 0) __PYX_ERR(0, 4134, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_recharge_leiu, 4134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 4134, __pyx_L1_error)
4135:
4136: ###this function projects the total GW recharge
4137: ###capacity in each in-leiu banking district out 12 months, and then allocates
4138: ###that capacity to individual districts based on their
4139: ###ownership stake in teh waterbank
4140:
4141: #in-leiu banks combine both direct and in-leiu recharge
4142: #capacity, so both must be forecasting moving forward (12 months)
+4143: for w in self.leiu_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4143, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4143, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4143, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4143, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4144: if w.thismonthuse == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_thismonthuse); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4144, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ goto __pyx_L5; }
+4145: w.monthusecounter += 1
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4145, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_t_1) < 0) __PYX_ERR(0, 4145, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4146: w.monthemptycounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter, __pyx_int_0) < 0) __PYX_ERR(0, 4146, __pyx_L1_error)
+4147: if w.monthusecounter > 11:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4147, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4147, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4148: w.monthusecounter = 11
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_int_11) < 0) __PYX_ERR(0, 4148, __pyx_L1_error)
+4149: w.recharge_rate *= w.recharge_decline[w.monthusecounter]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceMultiply(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_7) < 0) __PYX_ERR(0, 4149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4150: else:
+4151: w.monthemptycounter += 1
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_7, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter, __pyx_t_8) < 0) __PYX_ERR(0, 4151, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4152: w.recharge_rate += max(w.in_district_direct_recharge*cfs_tafd - w.recharge_rate, 0.0)*0.5
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = 0.0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = PyNumber_Multiply(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Subtract(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = PyObject_RichCompare(__pyx_t_1, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_6) { __pyx_t_10 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __pyx_t_10; __pyx_t_10 = 0; } else { __Pyx_INCREF(__pyx_t_7); __pyx_t_5 = __pyx_t_7; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_5, __pyx_float_0_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_5) < 0) __PYX_ERR(0, 4152, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4153: if w.monthemptycounter == 3:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_6) { /* … */ } } __pyx_L5:;
+4154: w.monthusecounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter, __pyx_int_0) < 0) __PYX_ERR(0, 4154, __pyx_L1_error)
+4155: w.recharge_rate = w.in_district_direct_recharge*cfs_tafd
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyNumber_Multiply(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_8) < 0) __PYX_ERR(0, 4155, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4156: w.thismonthuse = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_thismonthuse, __pyx_int_0) < 0) __PYX_ERR(0, 4156, __pyx_L1_error)
+4157: if m == 10:
__pyx_t_8 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_10, 10, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4157, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_6) { /* … */ }
+4158: w.recharge_rate = w.in_district_direct_recharge*cfs_tafd
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate, __pyx_t_7) < 0) __PYX_ERR(0, 4158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4159:
4160: ##find district share of recharge capacity
+4161: bank_total_supply = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_bank_total_supply, __pyx_float_0_0);
+4162: for y in w.contract_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_5 = __pyx_t_7; __Pyx_INCREF(__pyx_t_5); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4162, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4162, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4162, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_12(__pyx_t_5); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4162, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4163: bank_total_supply += w.projected_supply[y]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_y); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_bank_total_supply, __pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4163, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF_SET(__pyx_v_bank_total_supply, __pyx_t_7); __pyx_t_7 = 0;
+4164: if w.key == "SMI":
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_SMI, Py_EQ)); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4164, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4165: for member in w.participant_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_7 = __pyx_t_5; __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4165, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4165, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_5); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 4165, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4165, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4165, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4166: num_districts = self.district_keys_len[member]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_member); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_num_districts, __pyx_t_8); __pyx_t_8 = 0;
+4167: for irr_district in self.district_keys[member]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_member); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_8 = __pyx_t_5; __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4167, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4167, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_t_5); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4167, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_8, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4167, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4167, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4168: #current direct recharge
+4169: irr_district.max_direct_recharge[0] += w.leiu_ownership[member]*w.recharge_rate/num_districts
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = 0; __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_5, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = PyNumber_Multiply(__pyx_t_16, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_17, __pyx_v_num_districts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_t_15, __pyx_t_17, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4169, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4170: #current in leiu recharge (based on irrigation demands of the in-leiu bank)
+4171: if w.inleiubanked[member] < w.inleiucap[member]:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_member); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_17, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4171, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_6) { /* … */ }
+4172: irr_district.max_leiu_recharge[0] += w.leiu_ownership[member]*w.monthlydemand[wyt][m-1]*(1.0 - min(bank_total_supply/w.annualdemand[0], 1.0))/num_districts
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_leiu_recharge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_15 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_5, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_member); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_wyt); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_t_17); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Multiply(__pyx_t_10, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_9 = 1.0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_18, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_v_bank_total_supply, __pyx_t_10); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_16 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_19 = PyObject_RichCompare(__pyx_t_16, __pyx_t_18, Py_LT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_6) { __pyx_t_19 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_10 = __pyx_t_19; __pyx_t_19 = 0; } else { __Pyx_INCREF(__pyx_t_18); __pyx_t_10 = __pyx_t_18; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_10, 1.0, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Multiply(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyNumber_Divide(__pyx_t_10, __pyx_v_num_districts); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_t_15, __pyx_t_10, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4172, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4173:
+4174: for res in self.reservoir_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_10 = __pyx_t_5; __Pyx_INCREF(__pyx_t_10); __pyx_t_15 = 0; __pyx_t_20 = NULL; } else { __pyx_t_15 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_20 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4174, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 4174, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_10, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_15); __Pyx_INCREF(__pyx_t_5); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 4174, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_10, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_20(__pyx_t_10); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4174, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4175: if irr_district.reservoir_contract[res.key] == 1:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_18); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4175, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { /* … */ }
+4176: if w.inleiubanked[member] < w.inleiucap[member]:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_member); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyObject_RichCompare(__pyx_t_1, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_18); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4176, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_6) { /* … */ }
+4177: res.max_direct_recharge[0] += w.leiu_ownership[member]*w.recharge_rate/num_districts
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_21 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_18, __pyx_t_21, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_19 = PyNumber_Multiply(__pyx_t_17, __pyx_t_1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_19, __pyx_v_num_districts); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_18, __pyx_t_21, __pyx_t_19, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4178:
4179: ##each month of consecutive use results in the recharge capacity of the bank declining
4180: ##we want to know what is the recharge capacity available in the future, considering
4181: ##continuous use from this point on
+4182: decline_coef = 1.0
__Pyx_INCREF(__pyx_float_1_0); __Pyx_XDECREF_SET(__pyx_v_decline_coef, __pyx_float_1_0);
+4183: for m_counter in range(1,12):
for (__pyx_t_22 = 1; __pyx_t_22 < 12; __pyx_t_22+=1) {
__pyx_t_10 = __Pyx_PyInt_From_long(__pyx_t_22); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_XDECREF_SET(__pyx_v_m_counter, __pyx_t_10);
__pyx_t_10 = 0;
+4184: decline_counter = w.monthusecounter + m_counter
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = PyNumber_Add(__pyx_t_10, __pyx_v_m_counter); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_decline_counter, __pyx_t_18); __pyx_t_18 = 0;
+4185: future_month = m - 1 + m_counter
__pyx_t_18 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_10 = PyNumber_Add(__pyx_t_18, __pyx_v_m_counter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XDECREF_SET(__pyx_v_future_month, __pyx_t_10); __pyx_t_10 = 0;
+4186: if future_month > 11:
__pyx_t_10 = PyObject_RichCompare(__pyx_v_future_month, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4186, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4186, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_6) { /* … */ }
+4187: future_month -= 12
__pyx_t_10 = __Pyx_PyInt_SubtractObjC(__pyx_v_future_month, __pyx_int_12, 12, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF_SET(__pyx_v_future_month, __pyx_t_10); __pyx_t_10 = 0;
+4188: if decline_counter > 12:
__pyx_t_10 = PyObject_RichCompare(__pyx_v_decline_counter, __pyx_int_12, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4188, __pyx_L1_error) __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_6) { /* … */ }
+4189: decline_counter = 12
__Pyx_INCREF(__pyx_int_12); __Pyx_DECREF_SET(__pyx_v_decline_counter, __pyx_int_12);
+4190: decline_coef *= w.recharge_decline[decline_counter]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_decline_counter); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceMultiply(__pyx_v_decline_coef, __pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4190, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF_SET(__pyx_v_decline_coef, __pyx_t_10); __pyx_t_10 = 0;
4191: #future (12 months) direct recharge
+4192: irr_district.max_direct_recharge[m_counter] += w.leiu_ownership[member]*w.recharge_rate*decline_coef/num_districts
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_18 = __pyx_v_m_counter; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_member); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = PyNumber_Multiply(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_17, __pyx_v_decline_coef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_v_num_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_19, __pyx_t_17); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_t_18, __pyx_t_1) < 0)) __PYX_ERR(0, 4192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4193: #future (12 months) in leiu recharge
+4194: if w.inleiubanked[member] < w.inleiucap[member]:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_member); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyObject_RichCompare(__pyx_t_18, __pyx_t_1, Py_LT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_6) { /* … */ }
+4195: irr_district.max_leiu_recharge[m_counter] += w.leiu_ownership[member]*w.monthlydemand[wyt][future_month]*(1.0 - min(bank_total_supply/w.annualdemand[0], 1.0))/num_districts
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_max_leiu_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_1 = __pyx_v_m_counter; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_member); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_monthlydemand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_wyt); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_future_month); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_19, __pyx_t_17); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_9 = 1.0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_annualdemand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = __Pyx_GetItemInt(__pyx_t_17, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyNumber_Divide(__pyx_v_bank_total_supply, __pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_16 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_23 = PyObject_RichCompare(__pyx_t_16, __pyx_t_17, Py_LT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_6) { __pyx_t_23 = PyFloat_FromDouble(__pyx_t_9); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_19 = __pyx_t_23; __pyx_t_23 = 0; } else { __Pyx_INCREF(__pyx_t_17); __pyx_t_19 = __pyx_t_17; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_19, 1.0, 0, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_5, __pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyNumber_Divide(__pyx_t_19, __pyx_v_num_districts); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_t_1, __pyx_t_19) < 0)) __PYX_ERR(0, 4195, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4196: for res in self.reservoir_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_1 = __pyx_t_10; __Pyx_INCREF(__pyx_t_1); __pyx_t_15 = 0; __pyx_t_20 = NULL; } else { __pyx_t_15 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_20 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4196, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_20)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_10); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 4196, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_15); __Pyx_INCREF(__pyx_t_10); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 4196, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_20(__pyx_t_1); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4196, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; }
+4197: if irr_district.reservoir_contract[res.key] == 1:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyInt_EqObjC(__pyx_t_17, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4197, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_6) { /* … */ }
+4198: if w.inleiubanked[member] < w.inleiucap[member]:
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_member); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_member); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyObject_RichCompare(__pyx_t_17, __pyx_t_10, Py_LT); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 4198, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_6) { /* … */ }
+4199: res.max_direct_recharge[m_counter] += w.leiu_ownership[member]*w.recharge_rate*decline_coef/num_districts
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_10 = __pyx_v_m_counter; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_t_10); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_member); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_23 = PyNumber_Multiply(__pyx_t_5, __pyx_t_18); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_23, __pyx_v_decline_coef); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyNumber_Divide(__pyx_t_18, __pyx_v_num_districts); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_23); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_10, __pyx_t_18) < 0)) __PYX_ERR(0, 4199, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
4200:
+4201: def find_recharge_indistrict(self,m,wyt):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_75find_recharge_indistrict(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_75find_recharge_indistrict = {"find_recharge_indistrict", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_75find_recharge_indistrict, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_75find_recharge_indistrict(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_m = 0;
CYTHON_UNUSED PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_indistrict (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_m,&__pyx_n_s_wyt,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_indistrict", 1, 3, 3, 1); __PYX_ERR(0, 4201, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_recharge_indistrict", 1, 3, 3, 2); __PYX_ERR(0, 4201, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_recharge_indistrict") < 0)) __PYX_ERR(0, 4201, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_m = values[1];
__pyx_v_wyt = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_recharge_indistrict", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4201, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_indistrict", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_74find_recharge_indistrict(__pyx_self, __pyx_v_self, __pyx_v_m, __pyx_v_wyt);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_74find_recharge_indistrict(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_m, CYTHON_UNUSED PyObject *__pyx_v_wyt) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_res = NULL;
PyObject *__pyx_v_decline_coef = NULL;
PyObject *__pyx_v_m_counter = NULL;
PyObject *__pyx_v_decline_counter = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__62)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_recharge_indistrict", 0);
__Pyx_TraceCall("find_recharge_indistrict", __pyx_f[0], 4201, 0, __PYX_ERR(0, 4201, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_recharge_indistrict", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_res);
__Pyx_XDECREF(__pyx_v_decline_coef);
__Pyx_XDECREF(__pyx_v_m_counter);
__Pyx_XDECREF(__pyx_v_decline_counter);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__126 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_m, __pyx_n_s_wyt, __pyx_n_s_x, __pyx_n_s_res, __pyx_n_s_decline_coef, __pyx_n_s_m_counter, __pyx_n_s_decline_counter); if (unlikely(!__pyx_tuple__126)) __PYX_ERR(0, 4201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__126);
__Pyx_GIVEREF(__pyx_tuple__126);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_75find_recharge_indistrict, 0, __pyx_n_s_Model_find_recharge_indistrict, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_recharge_indistrict, __pyx_t_2) < 0) __PYX_ERR(0, 4201, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(3, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__126, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_recharge_indistrict, 4201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 4201, __pyx_L1_error)
4202:
4203: ###this function projects the total GW recharge
4204: ###capacity within the boundaries of each district,
4205: ###then adds that recharge to the expected recharge from
4206: ###banking opportunities
4207:
+4208: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4208, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4208, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4208, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4208, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4208, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4209: if x.in_district_storage > 0.0 and not x.in_leiu_banking:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_district_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyObject_RichCompare(__pyx_t_1, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4209, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4209, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { } else { __pyx_t_5 = __pyx_t_7; goto __pyx_L6_bool_binop_done; } __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 4209, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_8 = ((!__pyx_t_7) != 0); __pyx_t_5 = __pyx_t_8; __pyx_L6_bool_binop_done:; if (__pyx_t_5) { /* … */ }
+4210: if x.thismonthuse == 1:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_thismonthuse); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_6, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4210, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ goto __pyx_L8; }
+4211: x.monthusecounter += 1
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter, __pyx_t_6) < 0) __PYX_ERR(0, 4211, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4212: x.monthemptycounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_monthemptycounter, __pyx_int_0) < 0) __PYX_ERR(0, 4212, __pyx_L1_error)
+4213: if x.monthusecounter > 11:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = PyObject_RichCompare(__pyx_t_6, __pyx_int_11, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+4214: x.monthusecounter = 11
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter, __pyx_int_11) < 0) __PYX_ERR(0, 4214, __pyx_L1_error)
+4215: x.recharge_rate *= x.recharge_decline[x.monthusecounter]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceMultiply(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate, __pyx_t_9) < 0) __PYX_ERR(0, 4215, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4216: else:
+4217: x.monthemptycounter += 1
/*else*/ {
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_t_9, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4217, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_monthemptycounter, __pyx_t_10) < 0) __PYX_ERR(0, 4217, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4218: x.recharge_rate += max(x.in_district_direct_recharge*cfs_tafd - x.recharge_rate, 0.0)*0.5
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = 0.0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyNumber_Multiply(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyNumber_Subtract(__pyx_t_6, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = PyObject_RichCompare(__pyx_t_6, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_12); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_12); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_5) { __pyx_t_12 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = __pyx_t_12; __pyx_t_12 = 0; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_1 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_1, __pyx_float_0_5); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate, __pyx_t_1) < 0) __PYX_ERR(0, 4218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4219: if x.monthemptycounter == 3:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthemptycounter); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_3, 3, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4219, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4219, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_5) { /* … */ } } __pyx_L8:;
+4220: x.monthusecounter = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter, __pyx_int_0) < 0) __PYX_ERR(0, 4220, __pyx_L1_error)
+4221: x.recharge_rate = x.in_district_direct_recharge*cfs_tafd
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = PyNumber_Multiply(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4221, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate, __pyx_t_10) < 0) __PYX_ERR(0, 4221, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4222: x.thismonthuse = 0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_thismonthuse, __pyx_int_0) < 0) __PYX_ERR(0, 4222, __pyx_L1_error)
+4223: if m == 10:
__pyx_t_10 = __Pyx_PyInt_EqObjC(__pyx_v_m, __pyx_int_10, 10, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4223, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ }
+4224: x.recharge_rate = x.in_district_direct_recharge*cfs_tafd
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_district_direct_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyNumber_Multiply(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate, __pyx_t_9) < 0) __PYX_ERR(0, 4224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4225: if x.recharge_rate > 0.0:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4225, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = PyObject_RichCompare(__pyx_t_9, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4225, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+4226: x.max_direct_recharge[0] += x.recharge_rate
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, __pyx_t_13, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, __pyx_t_13, __pyx_t_12, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4226, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4227: for res in self.reservoir_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_12 = __pyx_t_1; __Pyx_INCREF(__pyx_t_12); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4227, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4227, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4227, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4227, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+4228: if x.reservoir_contract[res.key] == 1:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_EqObjC(__pyx_t_9, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4228, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ }
+4229: res.max_direct_recharge[0] += x.recharge_rate
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_10, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_10, __pyx_t_15, __pyx_t_6, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4229, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4230:
+4231: decline_coef = 1.0
__Pyx_INCREF(__pyx_float_1_0); __Pyx_XDECREF_SET(__pyx_v_decline_coef, __pyx_float_1_0);
+4232: for m_counter in range(1,12):
for (__pyx_t_16 = 1; __pyx_t_16 < 12; __pyx_t_16+=1) {
__pyx_t_12 = __Pyx_PyInt_From_long(__pyx_t_16); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_XDECREF_SET(__pyx_v_m_counter, __pyx_t_12);
__pyx_t_12 = 0;
+4233: decline_counter = x.monthusecounter + m_counter
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_monthusecounter); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_10 = PyNumber_Add(__pyx_t_12, __pyx_v_m_counter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_XDECREF_SET(__pyx_v_decline_counter, __pyx_t_10); __pyx_t_10 = 0;
+4234: if decline_counter > 12:
__pyx_t_10 = PyObject_RichCompare(__pyx_v_decline_counter, __pyx_int_12, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4234, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_5) { /* … */ }
+4235: decline_counter = 12
__Pyx_INCREF(__pyx_int_12); __Pyx_DECREF_SET(__pyx_v_decline_counter, __pyx_int_12);
+4236: decline_coef *= x.recharge_decline[decline_counter]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_decline_counter); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceMultiply(__pyx_v_decline_coef, __pyx_t_12); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF_SET(__pyx_v_decline_coef, __pyx_t_10); __pyx_t_10 = 0;
+4237: x.max_direct_recharge[m_counter] += x.recharge_rate*decline_coef
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_v_m_counter); __pyx_t_12 = __pyx_v_m_counter; __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_12); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = PyNumber_Multiply(__pyx_t_1, __pyx_v_decline_coef); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_10, __pyx_t_12, __pyx_t_1) < 0)) __PYX_ERR(0, 4237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4238: for res in self.reservoir_list:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_12 = __pyx_t_10; __Pyx_INCREF(__pyx_t_12); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4238, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4238, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_10); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4238, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4238, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_res, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; }
+4239: if x.reservoir_contract[res.key] == 1:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_reservoir_contract); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_9, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 4239, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { /* … */ }
+4240: res.max_direct_recharge[0] += x.recharge_rate*decline_coef
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_res, __pyx_n_s_max_direct_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_1, __pyx_t_15, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recharge_rate); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = PyNumber_Multiply(__pyx_t_10, __pyx_v_decline_coef); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, __pyx_t_15, __pyx_t_10, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 4240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
4241:
+4242: def update_leiu_capacity(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_77update_leiu_capacity(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_77update_leiu_capacity = {"update_leiu_capacity", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_77update_leiu_capacity, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_77update_leiu_capacity(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_leiu_capacity (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_76update_leiu_capacity(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_76update_leiu_capacity(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_member = NULL;
PyObject *__pyx_v_irr_district = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__63)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_leiu_capacity", 0);
__Pyx_TraceCall("update_leiu_capacity", __pyx_f[0], 4242, 0, __PYX_ERR(0, 4242, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_20);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_leiu_capacity", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_member);
__Pyx_XDECREF(__pyx_v_irr_district);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__127 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_w, __pyx_n_s_member, __pyx_n_s_irr_district, __pyx_n_s_y, __pyx_n_s_yy); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__127);
__Pyx_GIVEREF(__pyx_tuple__127);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_77update_leiu_capacity, 0, __pyx_n_s_Model_update_leiu_capacity, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_update_leiu_capacity, __pyx_t_2) < 0) __PYX_ERR(0, 4242, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_update_leiu_capacity, 4242, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 4242, __pyx_L1_error)
4243: #initialize individual banking partner's recovery capacity
+4244: for w in self.leiu_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4244, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4244, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4244, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_4(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4244, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4245: for member in w.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4245, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4245, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4245, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4245, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4246: if member != w.key:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = PyObject_RichCompare(__pyx_v_member, __pyx_t_1, Py_NE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 4246, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_9) { /* … */ }
+4247: for irr_district in self.district_keys[member]:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_8 = __pyx_t_1; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4247, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4247, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4247, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_11(__pyx_t_8); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4247, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4248: irr_district.extra_leiu_recovery = 0.0
if (__Pyx_PyObject_SetAttrStr(__pyx_v_irr_district, __pyx_n_s_extra_leiu_recovery, __pyx_float_0_0) < 0) __PYX_ERR(0, 4248, __pyx_L1_error)
4249: #find individual banking partner's (district') recovery capacity based on their total
4250: #supply in reservoirs accessable by their partners
+4251: for w in self.leiu_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_leiu_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { __pyx_t_3 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4251, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4251, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4251, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_4(__pyx_t_5); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4251, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4252: for member in w.participant_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_8 = __pyx_t_2; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_7 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4252, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4252, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4252, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_7(__pyx_t_8); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4252, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_member, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4253: # num_districts = self.district_keys_len[member])
+4254: for irr_district in self.district_keys[member]:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_member); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4254, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4254, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 4254, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_11(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4254, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_irr_district, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4255: for y in irr_district.contract_list:#if the banking partner has a contract at that reservoir, they can trade water there
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_12 = __pyx_t_1; __Pyx_INCREF(__pyx_t_12); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 4255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_14 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4255, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4255, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 4255, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_12, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_14(__pyx_t_12); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4255, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+4256: for yy in w.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_15 = __pyx_t_1; __Pyx_INCREF(__pyx_t_15); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_15 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_17 = Py_TYPE(__pyx_t_15)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4256, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_15))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_15, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 4256, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_15, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_15)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_15, __pyx_t_16); __Pyx_INCREF(__pyx_t_1); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 4256, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_15, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_17(__pyx_t_15); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4256, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+4257: if y == yy:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_y, __pyx_v_yy, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4257, __pyx_L1_error) __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 4257, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_9) { /* … */ }
+4258: irr_district.extra_leiu_recovery += w.projected_supply[yy]*w.leiu_trade_cap*w.leiu_ownership[member]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_irr_district, __pyx_n_s_extra_leiu_recovery); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_yy); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_trade_cap); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_20 = PyNumber_Multiply(__pyx_t_19, __pyx_t_18); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_member); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_Multiply(__pyx_t_20, __pyx_t_19); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_1, __pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_irr_district, __pyx_n_s_extra_leiu_recovery, __pyx_t_19) < 0) __PYX_ERR(0, 4258, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
4259:
4260: #####################################################################################################################
4261: #####################################################################################################################
4262: #####################################################################################################################
4263:
4264:
4265: #####################################################################################################################
4266: ############################# Flood operations ############################################################
4267: #####################################################################################################################
4268:
4269:
+4270: def flood_operations(self, t, m, dowy, wateryear, reservoir, flow_type, overflow_toggle, wyt):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_79flood_operations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_79flood_operations = {"flood_operations", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_79flood_operations, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_79flood_operations(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_v_reservoir = 0;
PyObject *__pyx_v_flow_type = 0;
PyObject *__pyx_v_overflow_toggle = 0;
PyObject *__pyx_v_wyt = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("flood_operations (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_m,&__pyx_n_s_dowy,&__pyx_n_s_wateryear,&__pyx_n_s_reservoir,&__pyx_n_s_flow_type,&__pyx_n_s_overflow_toggle,&__pyx_n_s_wyt,0};
PyObject* values[9] = {0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 1); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 2); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 3); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 4); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_reservoir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 5); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 6); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_overflow_toggle)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 7); __PYX_ERR(0, 4270, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wyt)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, 8); __PYX_ERR(0, 4270, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "flood_operations") < 0)) __PYX_ERR(0, 4270, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 9) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_m = values[2];
__pyx_v_dowy = values[3];
__pyx_v_wateryear = values[4];
__pyx_v_reservoir = values[5];
__pyx_v_flow_type = values[6];
__pyx_v_overflow_toggle = values[7];
__pyx_v_wyt = values[8];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("flood_operations", 1, 9, 9, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4270, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.flood_operations", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_78flood_operations(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_m, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_reservoir, __pyx_v_flow_type, __pyx_v_overflow_toggle, __pyx_v_wyt);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_78flood_operations(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_m, PyObject *__pyx_v_dowy, PyObject *__pyx_v_wateryear, PyObject *__pyx_v_reservoir, PyObject *__pyx_v_flow_type, PyObject *__pyx_v_overflow_toggle, PyObject *__pyx_v_wyt) {
PyObject *__pyx_v_begin_key = NULL;
PyObject *__pyx_v_existing_flow = NULL;
PyObject *__pyx_v_flood_available = NULL;
PyObject *__pyx_v_flood_available_overflow = NULL;
PyObject *__pyx_v_z = NULL;
CYTHON_UNUSED PyObject *__pyx_v_delivery_key = NULL;
PyObject *__pyx_v_flood_demand = NULL;
PyObject *__pyx_v_demand_type = NULL;
PyObject *__pyx_v_canal_counter = NULL;
PyObject *__pyx_v_tot_canal_demand = NULL;
PyObject *__pyx_v_total_flood_deliveries = NULL;
PyObject *__pyx_v_total_excess_flow = NULL;
PyObject *__pyx_v_canal_cap = NULL;
PyObject *__pyx_v_non_overflow_demand = NULL;
PyObject *__pyx_v_priority_flows = NULL;
PyObject *__pyx_v_flood_deliveries = NULL;
PyObject *__pyx_v_priority_flows_tot = NULL;
PyObject *__pyx_v_type_list = NULL;
PyObject *__pyx_v_canal_counter2 = NULL;
CYTHON_UNUSED Py_ssize_t __pyx_v_xxx;
PyObject *__pyx_v_canal_size = NULL;
PyObject *__pyx_v_excess_flows = NULL;
CYTHON_UNUSED PyObject *__pyx_v_unmet_demands = NULL;
PyObject *__pyx_v_total_spill = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__64)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("flood_operations", 0);
__Pyx_TraceCall("flood_operations", __pyx_f[0], 4270, 0, __PYX_ERR(0, 4270, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.flood_operations", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_begin_key);
__Pyx_XDECREF(__pyx_v_existing_flow);
__Pyx_XDECREF(__pyx_v_flood_available);
__Pyx_XDECREF(__pyx_v_flood_available_overflow);
__Pyx_XDECREF(__pyx_v_z);
__Pyx_XDECREF(__pyx_v_delivery_key);
__Pyx_XDECREF(__pyx_v_flood_demand);
__Pyx_XDECREF(__pyx_v_demand_type);
__Pyx_XDECREF(__pyx_v_canal_counter);
__Pyx_XDECREF(__pyx_v_tot_canal_demand);
__Pyx_XDECREF(__pyx_v_total_flood_deliveries);
__Pyx_XDECREF(__pyx_v_total_excess_flow);
__Pyx_XDECREF(__pyx_v_canal_cap);
__Pyx_XDECREF(__pyx_v_non_overflow_demand);
__Pyx_XDECREF(__pyx_v_priority_flows);
__Pyx_XDECREF(__pyx_v_flood_deliveries);
__Pyx_XDECREF(__pyx_v_priority_flows_tot);
__Pyx_XDECREF(__pyx_v_type_list);
__Pyx_XDECREF(__pyx_v_canal_counter2);
__Pyx_XDECREF(__pyx_v_canal_size);
__Pyx_XDECREF(__pyx_v_excess_flows);
__Pyx_XDECREF(__pyx_v_unmet_demands);
__Pyx_XDECREF(__pyx_v_total_spill);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__128 = PyTuple_Pack(33, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_m, __pyx_n_s_dowy, __pyx_n_s_wateryear, __pyx_n_s_reservoir, __pyx_n_s_flow_type, __pyx_n_s_overflow_toggle, __pyx_n_s_wyt, __pyx_n_s_begin_key, __pyx_n_s_existing_flow, __pyx_n_s_flood_available, __pyx_n_s_flood_available_overflow, __pyx_n_s_z, __pyx_n_s_delivery_key, __pyx_n_s_flood_demand, __pyx_n_s_demand_type, __pyx_n_s_canal_counter, __pyx_n_s_tot_canal_demand, __pyx_n_s_total_flood_deliveries, __pyx_n_s_total_excess_flow, __pyx_n_s_canal_cap, __pyx_n_s_non_overflow_demand, __pyx_n_s_priority_flows, __pyx_n_s_flood_deliveries, __pyx_n_s_priority_flows_tot, __pyx_n_s_type_list, __pyx_n_s_canal_counter2, __pyx_n_s_xxx, __pyx_n_s_canal_size, __pyx_n_s_excess_flows, __pyx_n_s_unmet_demands, __pyx_n_s_total_spill); if (unlikely(!__pyx_tuple__128)) __PYX_ERR(0, 4270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__128);
__Pyx_GIVEREF(__pyx_tuple__128);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_79flood_operations, 0, __pyx_n_s_Model_flood_operations, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4270, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_flood_operations, __pyx_t_2) < 0) __PYX_ERR(0, 4270, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(9, 0, 33, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__128, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_flood_operations, 4270, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 4270, __pyx_L1_error)
4271: ###available flood taken from reservoir step
4272: ###min-daily-uncontrolled is based on reservoir forecasts & available recharge space
4273: #releases from the flood pool, or in anticipation of the flood releases
4274: #'anticipation' releases are only made if they are at least as large as the
4275: #total recharge capacity at the reservoir
+4276: if reservoir.key == "SLS" or reservoir.key == "SLF":
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_SLS, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (!__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L4_bool_binop_done; } __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_2, __pyx_n_u_SLF, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4276, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __pyx_t_3; __pyx_L4_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+4277: begin_key = "SNL"
__Pyx_INCREF(__pyx_n_u_SNL);
__pyx_v_begin_key = __pyx_n_u_SNL;
4278: else:
+4279: begin_key = reservoir.key
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4279, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_begin_key = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L3:;
4280:
+4281: existing_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_existing_flow = __pyx_float_0_0;
+4282: if max(reservoir.flood_flow_min, 2.0) > reservoir.min_daily_uncontrolled:
__pyx_t_4 = 2.0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_flood_flow_min); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __pyx_t_7 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = __pyx_t_2; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L6; }
4283: #if reservoir.min_daily_uncontrolled < 3.0:
+4284: flood_available = reservoir.fcr
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fcr); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4284, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_v_flood_available = __pyx_t_7; __pyx_t_7 = 0;
+4285: flood_available_overflow = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_flood_available_overflow = __pyx_float_0_0;
4286: else:
+4287: for z in self.reservoir_canal[reservoir.key]:
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
} else {
__pyx_t_8 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4287, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
if (likely(!__pyx_t_9)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4287, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4287, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
} else {
__pyx_t_5 = __pyx_t_9(__pyx_t_2);
if (unlikely(!__pyx_t_5)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4287, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_5);
}
__Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_5);
__pyx_t_5 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4288: existing_flow += z.flow[1]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_flow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_existing_flow, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4288, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_existing_flow, __pyx_t_5); __pyx_t_5 = 0;
+4289: flood_available = max(reservoir.fcr, reservoir.min_daily_uncontrolled + max((reservoir.monthly_demand[wyt][m-1] + reservoir.monthly_demand_must_fill[wyt][m-1])/31.0 - existing_flow, 0.0)) #if reservoir.fcr < reservoir.flood_flow_min:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_min_daily_uncontrolled); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = 0.0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_monthly_demand); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wyt); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wyt); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_5, __pyx_float_31_0, 31.0, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_10, __pyx_v_existing_flow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_6 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __pyx_t_7 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __pyx_t_7; __pyx_t_7 = 0; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fcr); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4289, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4289, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = __pyx_t_5; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_2 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_flood_available = __pyx_t_5; __pyx_t_5 = 0;
+4290: if reservoir.min_daily_overflow > 0.0:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_min_daily_overflow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4290, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4290, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L9; }
+4291: flood_available_overflow = reservoir.min_daily_overflow + max((reservoir.monthly_demand_full[wyt][m-1] + reservoir.monthly_demand_must_fill[wyt][m-1])/31.0 - existing_flow, 0.0) #if reservoir.fcr < reservoir.flood_flow_min:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_min_daily_overflow); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = 0.0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_monthly_demand_full); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wyt); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_monthly_demand_must_fill); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_wyt); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_m, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_5, __pyx_float_31_0, 31.0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_6, __pyx_v_existing_flow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_1) { __pyx_t_10 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = __pyx_t_10; __pyx_t_10 = 0; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_flood_available_overflow = __pyx_t_5; __pyx_t_5 = 0;
4292: else:
+4293: flood_available_overflow = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_flood_available_overflow = __pyx_float_0_0;
}
__pyx_L9:;
}
__pyx_L6:;
4294:
4295:
+4296: if flood_available > 0.0:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_flood_available, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4296, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_1) { /* … */ }
+4297: delivery_key = reservoir.key + "_flood"
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_n_u_flood); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_delivery_key = __pyx_t_6; __pyx_t_6 = 0;
4298: #3 priority levels for flood flows
4299: #contractor - 1st priority, has contract at the reservoir being spilled
4300: #turnout - 2nd priority, has a turnout on a 'priority' canal for the reservoir being spilled
4301: #excess - 3rd priority, turnout on a non-priority canal for th ereservoir being spilled
+4302: flood_demand = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_v_flood_demand = ((PyObject*)__pyx_t_6); __pyx_t_6 = 0;
+4303: for demand_type in ['contractor', 'alternate', 'turnout', 'excess']:
__pyx_t_6 = __pyx_tuple__65; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; for (;;) { if (__pyx_t_8 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_5); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4303, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4303, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_demand_type, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; /* … */ __pyx_tuple__65 = PyTuple_Pack(4, __pyx_n_u_contractor, __pyx_n_u_alternate, __pyx_n_u_turnout, __pyx_n_u_excess); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 4303, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__65); __Pyx_GIVEREF(__pyx_tuple__65);
+4304: flood_demand[demand_type] = np.zeros(len(self.reservoir_canal[reservoir.key]))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = PyObject_Length(__pyx_t_11); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyInt_FromSsize_t(__pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_7, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_11); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_v_demand_type, __pyx_t_5) < 0)) __PYX_ERR(0, 4304, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4305: flood_demand['tot_' + demand_type] = 0.0
__pyx_t_5 = PyNumber_Add(__pyx_n_u_tot, __pyx_v_demand_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_5, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4306:
4307: ##Search for districts to take water
4308: ##Note: Millerton deliveries water to two seperate canals - their demands calculated seperately and split proportionally
+4309: canal_counter = 0
__Pyx_INCREF(__pyx_int_0);
__pyx_v_canal_counter = __pyx_int_0;
+4310: for z in self.reservoir_canal[reservoir.key]:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_5 = __pyx_t_10; __Pyx_INCREF(__pyx_t_5); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4310, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4310, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4310, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_5, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_9(__pyx_t_5); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4310, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4311: #total flood deliveries on each canal to each priority type
+4312: tot_canal_demand = self.search_canal_demand(dowy, z, begin_key, z.name, 'normal',flow_type,wateryear,'flood', {})
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[10] = {__pyx_t_2, __pyx_v_dowy, __pyx_v_z, __pyx_v_begin_key, __pyx_t_11, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_flood_2, __pyx_t_7}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 9+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[10] = {__pyx_t_2, __pyx_v_dowy, __pyx_v_z, __pyx_v_begin_key, __pyx_t_11, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_n_u_flood_2, __pyx_t_7}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 9+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_14 = PyTuple_New(9+__pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_13, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_13, __pyx_v_z); __Pyx_INCREF(__pyx_v_begin_key); __Pyx_GIVEREF(__pyx_v_begin_key); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_13, __pyx_v_begin_key); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_13, __pyx_t_11); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_13, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_13, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_13, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_flood_2); __Pyx_GIVEREF(__pyx_n_u_flood_2); PyTuple_SET_ITEM(__pyx_t_14, 7+__pyx_t_13, __pyx_n_u_flood_2); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_14, 8+__pyx_t_13, __pyx_t_7); __pyx_t_11 = 0; __pyx_t_7 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_tot_canal_demand, __pyx_t_10); __pyx_t_10 = 0;
+4313: for demand_type in tot_canal_demand:
if (likely(PyList_CheckExact(__pyx_v_tot_canal_demand)) || PyTuple_CheckExact(__pyx_v_tot_canal_demand)) { __pyx_t_10 = __pyx_v_tot_canal_demand; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0; __pyx_t_15 = NULL; } else { __pyx_t_12 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_tot_canal_demand); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 4313, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4313, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4313, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_15(__pyx_t_10); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4313, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_demand_type, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
4314: #sum priority deliveries over all canals
+4315: flood_demand[demand_type][canal_counter] = tot_canal_demand[demand_type]
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_tot_canal_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4315, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_canal_counter, __pyx_t_6) < 0)) __PYX_ERR(0, 4315, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4316: flood_demand['tot_' + demand_type] += flood_demand[demand_type][canal_counter]
__pyx_t_6 = PyNumber_Add(__pyx_n_u_tot, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_counter); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_11); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 4316, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4317: canal_counter += 1
__pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4317, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_t_10); __pyx_t_10 = 0;
+4318: canal_counter = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_int_0);
+4319: total_flood_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_flood_deliveries = __pyx_float_0_0;
+4320: total_excess_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_excess_flow = __pyx_float_0_0;
+4321: canal_cap = np.zeros(len(self.reservoir_canal[reservoir.key]))
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = PyObject_Length(__pyx_t_11); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyInt_FromSsize_t(__pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_11); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4321, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_canal_cap = __pyx_t_5; __pyx_t_5 = 0;
+4322: canal_counter = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_int_0);
+4323: non_overflow_demand = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_non_overflow_demand = __pyx_float_0_0;
+4324: for z in self.reservoir_canal[reservoir.key]:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (likely(PyList_CheckExact(__pyx_t_11)) || PyTuple_CheckExact(__pyx_t_11)) { __pyx_t_6 = __pyx_t_11; __Pyx_INCREF(__pyx_t_6); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_11); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4324, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_11); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4324, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_t_11); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4324, __pyx_L1_error) #else __pyx_t_11 = PySequence_ITEM(__pyx_t_6, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); #endif } } else { __pyx_t_11 = __pyx_t_9(__pyx_t_6); if (unlikely(!__pyx_t_11)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4324, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_11); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_11); __pyx_t_11 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4325: canal_cap[canal_counter] = z.capacity['normal'][1]*cfs_tafd - z.flow[1]
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_capacity); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_normal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyNumber_Multiply(__pyx_t_11, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_flow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Subtract(__pyx_t_7, __pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(PyObject_SetItem(__pyx_v_canal_cap, __pyx_v_canal_counter, __pyx_t_5) < 0)) __PYX_ERR(0, 4325, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4326: non_overflow_demand += min(flood_demand['contractor'][canal_counter] + flood_demand['alternate'][canal_counter], canal_cap[canal_counter])
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_n_u_contractor); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_canal_counter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_n_u_alternate); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_canal_counter); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyNumber_Add(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_11, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4326, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = __pyx_t_5; } else { __Pyx_INCREF(__pyx_t_11); __pyx_t_10 = __pyx_t_11; } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_non_overflow_demand, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_non_overflow_demand, __pyx_t_5); __pyx_t_5 = 0;
+4327: canal_counter += 1
__pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_t_5); __pyx_t_5 = 0;
+4328: if overflow_toggle == 1:
__pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_overflow_toggle, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4328, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4328, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { /* … */ }
+4329: flood_available = max(min(flood_available, non_overflow_demand), min(flood_available_overflow, flood_available))
__Pyx_INCREF(__pyx_v_flood_available); __pyx_t_6 = __pyx_v_flood_available; __Pyx_INCREF(__pyx_v_flood_available_overflow); __pyx_t_5 = __pyx_v_flood_available_overflow; __pyx_t_11 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4329, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_10 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_INCREF(__pyx_t_10); __pyx_t_6 = __pyx_t_10; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_v_non_overflow_demand); __pyx_t_10 = __pyx_v_non_overflow_demand; __Pyx_INCREF(__pyx_v_flood_available); __pyx_t_5 = __pyx_v_flood_available; __pyx_t_7 = PyObject_RichCompare(__pyx_t_10, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4329, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_11 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_t_11); __pyx_t_10 = __pyx_t_11; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_5 = PyObject_RichCompare(__pyx_t_6, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4329, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_11 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __pyx_t_11; __Pyx_INCREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF_SET(__pyx_v_flood_available, __pyx_t_6); __pyx_t_6 = 0;
4330:
4331:
+4332: canal_counter = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_int_0);
+4333: for z in self.reservoir_canal[reservoir.key]:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_11 = __pyx_t_10; __Pyx_INCREF(__pyx_t_11); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_11 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4333, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_11))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4333, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_11)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_8); __Pyx_INCREF(__pyx_t_10); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 4333, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_11, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4333, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_9(__pyx_t_11); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4333, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_z, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
4334: #first, determine the % of total demand at each priority level that can be fufilled
4335: #second, sum up the total deliveries to each canal from the reservoir
+4336: priority_flows = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_flows, __pyx_float_0_0);
+4337: flood_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_flood_deliveries, __pyx_float_0_0);
+4338: priority_flows_tot = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_priority_flows_tot, __pyx_float_0_0);
+4339: if overflow_toggle == 1:
__pyx_t_10 = __Pyx_PyInt_EqObjC(__pyx_v_overflow_toggle, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4339, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L22; }
+4340: type_list = ['contractor', 'alternate', 'turnout', 'excess']
__pyx_t_10 = PyList_New(4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_INCREF(__pyx_n_u_contractor); __Pyx_GIVEREF(__pyx_n_u_contractor); PyList_SET_ITEM(__pyx_t_10, 0, __pyx_n_u_contractor); __Pyx_INCREF(__pyx_n_u_alternate); __Pyx_GIVEREF(__pyx_n_u_alternate); PyList_SET_ITEM(__pyx_t_10, 1, __pyx_n_u_alternate); __Pyx_INCREF(__pyx_n_u_turnout); __Pyx_GIVEREF(__pyx_n_u_turnout); PyList_SET_ITEM(__pyx_t_10, 2, __pyx_n_u_turnout); __Pyx_INCREF(__pyx_n_u_excess); __Pyx_GIVEREF(__pyx_n_u_excess); PyList_SET_ITEM(__pyx_t_10, 3, __pyx_n_u_excess); __Pyx_XDECREF_SET(__pyx_v_type_list, ((PyObject*)__pyx_t_10)); __pyx_t_10 = 0;
4341: else:
+4342: type_list = ['contractor', 'alternate']
/*else*/ {
__pyx_t_10 = PyList_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
__Pyx_INCREF(__pyx_n_u_contractor);
__Pyx_GIVEREF(__pyx_n_u_contractor);
PyList_SET_ITEM(__pyx_t_10, 0, __pyx_n_u_contractor);
__Pyx_INCREF(__pyx_n_u_alternate);
__Pyx_GIVEREF(__pyx_n_u_alternate);
PyList_SET_ITEM(__pyx_t_10, 1, __pyx_n_u_alternate);
__Pyx_XDECREF_SET(__pyx_v_type_list, ((PyObject*)__pyx_t_10));
__pyx_t_10 = 0;
}
__pyx_L22:;
+4343: for demand_type in type_list:
__pyx_t_10 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0; for (;;) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_6); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4343, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_XDECREF_SET(__pyx_v_demand_type, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+4344: if flood_demand['tot_' + demand_type] > 0.0:
__pyx_t_6 = PyNumber_Add(__pyx_n_u_tot, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4344, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4344, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L25; }
+4345: if (flood_demand[demand_type][canal_counter] + priority_flows) > canal_cap[canal_counter] and ((flood_available-priority_flows_tot)*(flood_demand[demand_type][canal_counter]/flood_demand['tot_' + demand_type])+priority_flows) > canal_cap[canal_counter]:
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_5, __pyx_v_priority_flows); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { } else { __pyx_t_1 = __pyx_t_3; goto __pyx_L27_bool_binop_done; } __pyx_t_7 = PyNumber_Subtract(__pyx_v_flood_available, __pyx_v_priority_flows_tot); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_canal_counter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_n_u_tot, __pyx_v_demand_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyNumber_Divide(__pyx_t_6, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_14, __pyx_v_priority_flows); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_14, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 4345, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __pyx_t_3; __pyx_L27_bool_binop_done:; if (__pyx_t_1) { /* … */ goto __pyx_L26; }
+4346: if flood_demand[demand_type][canal_counter] > 0.0:
__pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_counter); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_14, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4346, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L29; }
+4347: flood_demand[demand_type + '_frac'] = min(max(canal_cap[canal_counter]-priority_flows, 0.0)/flood_demand[demand_type][canal_counter], 1.0)# the percent of demand that can be fufilled, adjusting for priority priority deliveries
__pyx_t_4 = 1.0;
__pyx_t_16 = 0.0;
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_14 = PyNumber_Subtract(__pyx_t_7, __pyx_v_priority_flows); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_t_14, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_1) {
__pyx_t_6 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = __pyx_t_6;
__pyx_t_6 = 0;
} else {
__Pyx_INCREF(__pyx_t_14);
__pyx_t_7 = __pyx_t_14;
}
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_counter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __Pyx_PyNumber_Divide(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_7, __pyx_t_14, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_1) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_14);
__pyx_t_6 = __pyx_t_14;
}
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_14 = __pyx_t_6;
__Pyx_INCREF(__pyx_t_14);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_6, __pyx_t_14) < 0)) __PYX_ERR(0, 4347, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
4348: else:
+4349: flood_demand[demand_type + '_frac'] = 0.0# the percent of demand that can be fufilled, adjusting for priority priority deliveries
/*else*/ {
__pyx_t_14 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4349, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_14, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4349, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
}
__pyx_L29:;
4350:
+4351: flood_deliveries += flood_demand[demand_type + '_frac']*flood_demand[demand_type][canal_counter]
__pyx_t_14 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_flood_deliveries, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4351, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF_SET(__pyx_v_flood_deliveries, __pyx_t_5); __pyx_t_5 = 0;
+4352: priority_flows += min(flood_demand[demand_type][canal_counter], canal_cap[canal_counter])
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_counter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4352, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4352, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = __pyx_t_5; } else { __Pyx_INCREF(__pyx_t_6); __pyx_t_14 = __pyx_t_6; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_priority_flows, __pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4352, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows, __pyx_t_5); __pyx_t_5 = 0;
+4353: canal_counter2 = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_canal_counter2, __pyx_int_0);
+4354: for xxx in range(0,len(self.reservoir_canal[reservoir.key])):
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4354, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_17 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4354, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_18 = __pyx_t_17; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_xxx = __pyx_t_19;
+4355: priority_flows_tot += min(flood_demand[demand_type][canal_counter2], canal_cap[canal_counter2])
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4355, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4355, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_14 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_14 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_priority_flows_tot, __pyx_t_14); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4355, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows_tot, __pyx_t_6); __pyx_t_6 = 0;
+4356: canal_counter2 += 1
__pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter2, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_canal_counter2, __pyx_t_6); __pyx_t_6 = 0; }
4357: else:
+4358: flood_demand[demand_type + '_frac'] = min(max(flood_available - priority_flows_tot, 0.0)/flood_demand['tot_' + demand_type], 1.0)# the percent of demand that can be fufilled, adjusting for priority priority deliveries
/*else*/ {
__pyx_t_4 = 1.0;
__pyx_t_16 = 0.0;
__pyx_t_6 = PyNumber_Subtract(__pyx_v_flood_available, __pyx_v_priority_flows_tot); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = PyObject_RichCompare(__pyx_t_5, __pyx_t_6, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (__pyx_t_1) {
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_14 = __pyx_t_7;
__pyx_t_7 = 0;
} else {
__Pyx_INCREF(__pyx_t_6);
__pyx_t_14 = __pyx_t_6;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyNumber_Add(__pyx_n_u_tot, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_14, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_14 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_14, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_1) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_6);
__pyx_t_7 = __pyx_t_6;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __pyx_t_7;
__Pyx_INCREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_7, __pyx_t_6) < 0)) __PYX_ERR(0, 4358, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4359: priority_flows += min(flood_demand[demand_type][canal_counter], canal_cap[canal_counter])
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4359, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4359, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_priority_flows, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows, __pyx_t_6); __pyx_t_6 = 0;
+4360: flood_deliveries += flood_demand[demand_type + '_frac'] * flood_demand[demand_type][canal_counter]
__pyx_t_6 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Multiply(__pyx_t_7, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_flood_deliveries, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_flood_deliveries, __pyx_t_5); __pyx_t_5 = 0;
4361:
+4362: canal_counter2 = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_canal_counter2, __pyx_int_0);
+4363: for xxx in range(0,len(self.reservoir_canal[reservoir.key])):
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_17 = PyObject_Length(__pyx_t_7); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4363, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_18 = __pyx_t_17; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_xxx = __pyx_t_19;
+4364: priority_flows_tot += min(flood_demand[demand_type][canal_counter2], canal_cap[canal_counter2])
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_14 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4364, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4364, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_7); __pyx_t_6 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_priority_flows_tot, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows_tot, __pyx_t_7); __pyx_t_7 = 0;
+4365: canal_counter2 += 1
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter2, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_canal_counter2, __pyx_t_7); __pyx_t_7 = 0; } } __pyx_L26:;
4366: else:
+4367: flood_demand[demand_type + '_frac'] = 0.0
/*else*/ {
__pyx_t_7 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4367, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (unlikely(PyDict_SetItem(__pyx_v_flood_demand, __pyx_t_7, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4367, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4368: priority_flows += min(flood_demand[demand_type][canal_counter], canal_cap[canal_counter])
__pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_14 = PyObject_RichCompare(__pyx_t_7, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4368, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_7); __pyx_t_6 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_priority_flows, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows, __pyx_t_7); __pyx_t_7 = 0;
+4369: flood_deliveries += flood_demand[demand_type + '_frac'] * flood_demand[demand_type][canal_counter]
__pyx_t_7 = PyNumber_Add(__pyx_v_demand_type, __pyx_n_u_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_counter); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_flood_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_flood_deliveries, __pyx_t_5); __pyx_t_5 = 0;
+4370: canal_counter2 = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_canal_counter2, __pyx_int_0);
+4371: for xxx in range(0,len(self.reservoir_canal[reservoir.key])):
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_reservoir_canal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_17 = PyObject_Length(__pyx_t_6); if (unlikely(__pyx_t_17 == ((Py_ssize_t)-1))) __PYX_ERR(0, 4371, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_18 = __pyx_t_17; for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) { __pyx_v_xxx = __pyx_t_19;
+4372: priority_flows_tot += min(flood_demand[demand_type][canal_counter2], canal_cap[canal_counter2])
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_v_canal_cap, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_flood_demand, __pyx_v_demand_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_counter2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4372, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4372, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = __pyx_t_6; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_v_priority_flows_tot, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_priority_flows_tot, __pyx_t_6); __pyx_t_6 = 0;
+4373: canal_counter2 += 1
__pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter2, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF_SET(__pyx_v_canal_counter2, __pyx_t_6); __pyx_t_6 = 0; } } __pyx_L25:;
4374:
+4375: canal_size = self.canal_district_len[z.name]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_canal_size, __pyx_t_7); __pyx_t_7 = 0;
+4376: if flood_deliveries > 0.0:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_flood_deliveries, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4376, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4376, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L36; }
+4377: excess_flows, unmet_demands = self.distribute_canal_deliveries(dowy, z, begin_key, z.name, flood_deliveries, canal_size, wateryear, 'normal', flow_type, 'flood')
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_z, __pyx_n_s_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_5 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[11] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_v_begin_key, __pyx_t_10, __pyx_v_flood_deliveries, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_flood_2}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 10+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[11] = {__pyx_t_5, __pyx_v_dowy, __pyx_v_z, __pyx_v_begin_key, __pyx_t_10, __pyx_v_flood_deliveries, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_flood_2}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_13, 10+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_14 = PyTuple_New(10+__pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_13, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_z); __Pyx_GIVEREF(__pyx_v_z); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_13, __pyx_v_z); __Pyx_INCREF(__pyx_v_begin_key); __Pyx_GIVEREF(__pyx_v_begin_key); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_13, __pyx_v_begin_key); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_13, __pyx_t_10); __Pyx_INCREF(__pyx_v_flood_deliveries); __Pyx_GIVEREF(__pyx_v_flood_deliveries); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_13, __pyx_v_flood_deliveries); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_13, __pyx_v_canal_size); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_13, __pyx_v_wateryear); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_14, 7+__pyx_t_13, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_14, 8+__pyx_t_13, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_flood_2); __Pyx_GIVEREF(__pyx_n_u_flood_2); PyTuple_SET_ITEM(__pyx_t_14, 9+__pyx_t_13, __pyx_n_u_flood_2); __pyx_t_10 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4377, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_14 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_14 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_14); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_14 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_20 = Py_TYPE(__pyx_t_10)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_20(__pyx_t_10); if (unlikely(!__pyx_t_6)) goto __pyx_L37_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_14 = __pyx_t_20(__pyx_t_10); if (unlikely(!__pyx_t_14)) goto __pyx_L37_unpacking_failed; __Pyx_GOTREF(__pyx_t_14); if (__Pyx_IternextUnpackEndCheck(__pyx_t_20(__pyx_t_10), 2) < 0) __PYX_ERR(0, 4377, __pyx_L1_error) __pyx_t_20 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L38_unpacking_done; __pyx_L37_unpacking_failed:; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_20 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4377, __pyx_L1_error) __pyx_L38_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_excess_flows, __pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_unmet_demands, __pyx_t_14); __pyx_t_14 = 0;
4378:
4379: else:
+4380: excess_flows = 0.0
/*else*/ {
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_XDECREF_SET(__pyx_v_excess_flows, __pyx_float_0_0);
}
__pyx_L36:;
+4381: canal_counter += 1
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_v_canal_counter, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_canal_counter, __pyx_t_7); __pyx_t_7 = 0;
+4382: total_flood_deliveries += flood_deliveries
__pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_total_flood_deliveries, __pyx_v_flood_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_total_flood_deliveries, __pyx_t_7); __pyx_t_7 = 0;
+4383: total_excess_flow += excess_flows
__pyx_t_7 = PyNumber_InPlaceAdd(__pyx_v_total_excess_flow, __pyx_v_excess_flows); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF_SET(__pyx_v_total_excess_flow, __pyx_t_7); __pyx_t_7 = 0;
4384: #if all deliveries cannot be taken, then only need to 'spill' from the
4385: #reservoir what was actually delivered (unless over the flood pool - then spill into channel (not tracked)
+4386: total_spill = max(total_flood_deliveries - total_excess_flow, reservoir.fcr)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fcr); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_7 = PyNumber_Subtract(__pyx_v_total_flood_deliveries, __pyx_v_total_excess_flow); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyObject_RichCompare(__pyx_t_11, __pyx_t_7, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4386, __pyx_L1_error) __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { __Pyx_INCREF(__pyx_t_11); __pyx_t_14 = __pyx_t_11; } else { __Pyx_INCREF(__pyx_t_7); __pyx_t_14 = __pyx_t_7; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __pyx_t_14; __Pyx_INCREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_total_spill = __pyx_t_11; __pyx_t_11 = 0;
+4387: reservoir.flood_spill[t] += total_spill - total_flood_deliveries + total_excess_flow
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_flood_spill); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_INCREF(__pyx_v_t); __pyx_t_14 = __pyx_v_t; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyNumber_Subtract(__pyx_v_total_spill, __pyx_v_total_flood_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = PyNumber_Add(__pyx_t_6, __pyx_v_total_excess_flow); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_14, __pyx_t_6) < 0)) __PYX_ERR(0, 4387, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+4388: reservoir.flood_deliveries[t] = total_flood_deliveries - total_excess_flow
__pyx_t_11 = PyNumber_Subtract(__pyx_v_total_flood_deliveries, __pyx_v_total_excess_flow); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_flood_deliveries); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_t, __pyx_t_11) < 0)) __PYX_ERR(0, 4388, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
4389:
4390: #if water is spilled, it has to be taken from existing carryover or from estimates
4391: #of that year's contract (b/c flood releases do not count as contract deliveries, but that
4392: #water is still used to estimate water availability for contract allocations)
+4393: self.update_carryover(total_spill,reservoir.key,wateryear)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_update_carryover); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = NULL; __pyx_t_13 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_13 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_total_spill, __pyx_t_6, __pyx_v_wateryear}; __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_total_spill, __pyx_t_6, __pyx_v_wateryear}; __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_13, 3+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_INCREF(__pyx_v_total_spill); __Pyx_GIVEREF(__pyx_v_total_spill); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_13, __pyx_v_total_spill); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_13, __pyx_v_wateryear); __pyx_t_6 = 0; __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_7, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
4394: #update storage (reservoir.fcr: flood control releases, already accounted for in reservoir water balance)
+4395: if t < (self.T -1):
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_T); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = __Pyx_PyInt_SubtractObjC(__pyx_t_11, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = PyObject_RichCompare(__pyx_v_t, __pyx_t_14, Py_LT); __Pyx_XGOTREF(__pyx_t_11); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_11); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4395, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (__pyx_t_1) { /* … */ }
+4396: reservoir.S[t+1] -= (total_spill - reservoir.fcr)
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_S); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_14); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fcr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = PyNumber_Subtract(__pyx_v_total_spill, __pyx_t_6); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceSubtract(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_14, __pyx_t_6) < 0)) __PYX_ERR(0, 4396, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
4397:
4398: #####################################################################################################################
4399: #####################################################################################################################
4400: #####################################################################################################################
4401:
4402:
4403: #####################################################################################################################
4404: ###### Canal loop with capacity constraints - find demand & deliver flood/contract/recharge/recovery water #########
4405: #####################################################################################################################
4406:
+4407: def set_canal_direction(self, flow_type):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_81set_canal_direction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_81set_canal_direction = {"set_canal_direction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_81set_canal_direction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_81set_canal_direction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_flow_type = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_canal_direction (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_flow_type,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_direction", 1, 2, 2, 1); __PYX_ERR(0, 4407, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_canal_direction") < 0)) __PYX_ERR(0, 4407, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_flow_type = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_canal_direction", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4407, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_canal_direction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_80set_canal_direction(__pyx_self, __pyx_v_self, __pyx_v_flow_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_80set_canal_direction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_flow_type) {
long __pyx_v_adjust_both_types;
long __pyx_v_adjust_one_type;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__66)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_canal_direction", 0);
__Pyx_TraceCall("set_canal_direction", __pyx_f[0], 4407, 0, __PYX_ERR(0, 4407, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_canal_direction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_flow_type, __pyx_n_s_adjust_both_types, __pyx_n_s_adjust_one_type); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(0, 4407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__129);
__Pyx_GIVEREF(__pyx_tuple__129);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_81set_canal_direction, 0, __pyx_n_s_Model_set_canal_direction, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4407, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_canal_direction, __pyx_t_2) < 0) __PYX_ERR(0, 4407, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_canal_direction, 4407, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 4407, __pyx_L1_error)
4408: ##This function determines the flow direction on the cross valley canal based on the use of the turnouts w/ the
4409: ##California Aqueduct, Friant-Kern Canal, and/or Kern River.
+4410: adjust_both_types = 1
__pyx_v_adjust_both_types = 1;
+4411: adjust_one_type = 0
__pyx_v_adjust_one_type = 0;
+4412: if flow_type == "recharge":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_type, __pyx_n_u_recharge, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4412, __pyx_L1_error) if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+4413: self.calaqueduct.find_bi_directional(self.calaqueduct.turnout_use[18], "normal", "normal", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_locked); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_6, __pyx_t_3, __pyx_n_u_normal, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_5, __pyx_t_7}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_6, __pyx_t_3, __pyx_n_u_normal, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_5, __pyx_t_7}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_9 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_n_u_normal); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_8, __pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_8, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 6+__pyx_t_8, __pyx_t_7); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_7 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4414: #self.fkc.find_bi_directional(self.calaqueduct.turnout_use[15], "normal", "reverse", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
+4415: if self.calaqueduct.turnout_use[18] > 0.0:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4415, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { /* … */ }
+4416: self.xvc.locked = 1
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4416, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_locked, __pyx_int_1) < 0) __PYX_ERR(0, 4416, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4417: #if self.kwbcanal.capacity["reverse"][2] > 0.0:
4418: #self.calaqueduct.find_bi_directional(self.fkc.turnout_use[22], "normal", "normal", flow_type, 'xvc')
4419: #self.fkc.find_bi_directional(self.fkc.turnout_use[22], "normal", "normal", flow_type, 'xvc')
4420: #else:
4421: #self.calaqueduct.find_bi_directional(self.fkc.turnout_use[22], "reverse", "normal", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
4422: #self.fkc.find_bi_directional(self.fkc.turnout_use[22], "reverse", "reverse", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
4423: #if self.fkc.turnout_use[22] > 0.0:
4424: #self.xvc.locked = 1
4425:
+4426: self.calaqueduct.find_bi_directional(self.calaqueduct.turnout_use[19], "normal", "normal", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_7, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_t_2, __pyx_n_u_normal, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_7, __pyx_t_3}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_t_2, __pyx_n_u_normal, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_7, __pyx_t_3}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_2); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_n_u_normal); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_8, __pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 5+__pyx_t_8, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 6+__pyx_t_8, __pyx_t_3); __pyx_t_2 = 0; __pyx_t_7 = 0; __pyx_t_3 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4427: self.kerncanal.find_bi_directional(self.calaqueduct.turnout_use[19], "closed", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_locked); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[8] = {__pyx_t_7, __pyx_t_9, __pyx_n_u_closed, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_3, __pyx_t_2}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[8] = {__pyx_t_7, __pyx_t_9, __pyx_n_u_closed, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_3, __pyx_t_2}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } else #endif { __pyx_t_5 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_n_u_closed); __Pyx_GIVEREF(__pyx_n_u_closed); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_n_u_closed); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_8, __pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 6+__pyx_t_8, __pyx_t_2); __pyx_t_9 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4428: if self.calaqueduct.turnout_use[19] > 0.0:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_6, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4428, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_4, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4428, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4428, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_1) { /* … */ }
+4429: self.kwbcanal.locked = 1
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4429, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_locked, __pyx_int_1) < 0) __PYX_ERR(0, 4429, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4430:
4431: #self.calaqueduct.find_bi_directional(self.kerncanal.turnout_use[5], "reverse", "normal", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
4432: #self.kerncanal.find_bi_directional(self.kerncanal.turnout_use[5], "reverse", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
4433: #if self.kerncanal.turnout_use[5] > 0.0:
4434: #self.kwbcanal.locked = 1
4435:
+4436: elif flow_type == "recovery":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4436, __pyx_L1_error) if (__pyx_t_1) { /* … */ } __pyx_L3:;
+4437: self.calaqueduct.find_bi_directional(self.calaqueduct.turnout_use[18], "reverse", "reverse", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_locked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_t_4, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_2, __pyx_t_9}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_t_4, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_2, __pyx_t_9}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_7 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_8, __pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_8, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_8, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_9 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4438: #self.fkc.find_bi_directional(self.calaqueduct.turnout_use[15], "reverse", "normal", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
+4439: self.kernriverchannel.find_bi_directional(self.calaqueduct.turnout_use[18], "reverse", "reverse", flow_type, 'xvc', adjust_one_type, self.xvc.locked)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_9, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_long(__pyx_v_adjust_one_type); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_locked); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[8] = {__pyx_t_2, __pyx_t_5, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_9, __pyx_t_4}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[8] = {__pyx_t_2, __pyx_t_5, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_9, __pyx_t_4}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else #endif { __pyx_t_3 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_2) { __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL; } __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_t_5); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_8, __pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_8, __pyx_t_4); __pyx_t_5 = 0; __pyx_t_9 = 0; __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4440: if self.calaqueduct.turnout_use[18] > 0.0:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_7, 18, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4440, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4440, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { /* … */ }
+4441: self.xvc.locked = 1
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_locked, __pyx_int_1) < 0) __PYX_ERR(0, 4441, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4442:
4443: #self.calaqueduct.find_bi_directional(self.fkc.turnout_use[22], "normal", "reverse", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
4444: #self.fkc.find_bi_directional(self.fkc.turnout_use[22], "normal", "normal", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
4445: #self.kernriverchannel.find_bi_directional(self.fkc.turnout_use[22], "normal", "reverse", flow_type, 'xvc', adjust_one_type, self.xvc.locked)
4446: #if self.fkc.turnout_use[22] > 0.0:
4447: #self.xvc.locked = 1
4448:
+4449: self.calaqueduct.find_bi_directional(self.kernriverchannel.turnout_use[4], "reverse", "reverse", flow_type, adjust_both_types, 'xvc', self.xvc.locked)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_4, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_locked); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[8] = {__pyx_t_9, __pyx_t_6, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_t_4, __pyx_n_u_xvc, __pyx_t_5}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[8] = {__pyx_t_9, __pyx_t_6, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_t_4, __pyx_n_u_xvc, __pyx_t_5}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_2 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_2, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 4+__pyx_t_8, __pyx_t_4); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyTuple_SET_ITEM(__pyx_t_2, 5+__pyx_t_8, __pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 6+__pyx_t_8, __pyx_t_5); __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4450: #self.fkc.find_bi_directional(self.kernriverchannel.turnout_use[4], "reverse", "normal", flow_type, 'xvc', adjust_both_types, self.xvc.locked)
+4451: self.kernriverchannel.find_bi_directional(self.kernriverchannel.turnout_use[4], "reverse", "normal", flow_type, 'xvc', adjust_one_type, self.xvc.locked)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_From_long(__pyx_v_adjust_one_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_locked); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[8] = {__pyx_t_4, __pyx_t_3, __pyx_n_u_reverse, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_5, __pyx_t_6}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[8] = {__pyx_t_4, __pyx_t_3, __pyx_n_u_reverse, __pyx_n_u_normal, __pyx_v_flow_type, __pyx_n_u_xvc, __pyx_t_5, __pyx_t_6}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_9 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_normal); __Pyx_GIVEREF(__pyx_n_u_normal); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_n_u_normal); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_n_u_xvc); PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_8, __pyx_n_u_xvc); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_8, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 6+__pyx_t_8, __pyx_t_6); __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4452: if self.kernriverchannel.turnout_use[4] > 0.0:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriverchannel); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_7, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4452, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4452, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_1) { /* … */ }
+4453: self.xvc.locked = 1
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_xvc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_locked, __pyx_int_1) < 0) __PYX_ERR(0, 4453, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
4454:
4455:
+4456: self.calaqueduct.find_bi_directional(self.calaqueduct.turnout_use[19], "reverse", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_6, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_locked); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_t_7, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_6, __pyx_t_3}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_5, __pyx_t_7, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_6, __pyx_t_3}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_4 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_8, __pyx_t_7); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyTuple_SET_ITEM(__pyx_t_4, 4+__pyx_t_8, __pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 5+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 6+__pyx_t_8, __pyx_t_3); __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4457: self.kerncanal.find_bi_directional(self.calaqueduct.turnout_use[19], "reverse", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerncanal); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_find_bi_directional); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_3, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_long(__pyx_v_adjust_both_types); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_locked); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_6, __pyx_t_9, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_3, __pyx_t_7}; __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_6, __pyx_t_9, __pyx_n_u_reverse, __pyx_n_u_reverse, __pyx_v_flow_type, __pyx_n_u_kbc, __pyx_t_3, __pyx_t_7}; __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else #endif { __pyx_t_5 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_n_u_reverse); __Pyx_GIVEREF(__pyx_n_u_reverse); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_n_u_reverse); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_n_u_kbc); PyTuple_SET_ITEM(__pyx_t_5, 4+__pyx_t_8, __pyx_n_u_kbc); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 5+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 6+__pyx_t_8, __pyx_t_7); __pyx_t_9 = 0; __pyx_t_3 = 0; __pyx_t_7 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4457, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+4458: if self.calaqueduct.turnout_use[19] > 0.0:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_calaqueduct); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 19, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4458, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4458, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { /* … */ }
+4459: self.kwbcanal.locked = 1
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_locked, __pyx_int_1) < 0) __PYX_ERR(0, 4459, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4460:
4461: #self.calaqueduct.find_bi_directional(self.kerncanal.turnout_use[4], "reverse", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
4462: #self.kerncanal.find_bi_directional(self.kerncanal.turnout_use[4], "reverse", "reverse", flow_type, 'kbc', adjust_both_types, self.kwbcanal.locked)
4463: #if self.kerncanal.turnout_use[5] > 0.0:
4464: #self.kwbcanal.locked = 1
4465:
4466:
+4467: def set_canal_range(self, flow_dir, flow_type, canal, prev_canal, canal_size):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_83set_canal_range(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_83set_canal_range = {"set_canal_range", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_83set_canal_range, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_83set_canal_range(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_flow_dir = 0;
PyObject *__pyx_v_flow_type = 0;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_prev_canal = 0;
PyObject *__pyx_v_canal_size = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_canal_range (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_flow_dir,&__pyx_n_s_flow_type,&__pyx_n_s_canal,&__pyx_n_s_prev_canal,&__pyx_n_s_canal_size,0};
PyObject* values[6] = {0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_dir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, 1); __PYX_ERR(0, 4467, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, 2); __PYX_ERR(0, 4467, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, 3); __PYX_ERR(0, 4467, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_prev_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, 4); __PYX_ERR(0, 4467, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal_size)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, 5); __PYX_ERR(0, 4467, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_canal_range") < 0)) __PYX_ERR(0, 4467, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
}
__pyx_v_self = values[0];
__pyx_v_flow_dir = values[1];
__pyx_v_flow_type = values[2];
__pyx_v_canal = values[3];
__pyx_v_prev_canal = values[4];
__pyx_v_canal_size = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_canal_range", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4467, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_canal_range", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_82set_canal_range(__pyx_self, __pyx_v_self, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_canal, __pyx_v_prev_canal, __pyx_v_canal_size);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_82set_canal_range(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_flow_dir, PyObject *__pyx_v_flow_type, PyObject *__pyx_v_canal, PyObject *__pyx_v_prev_canal, PyObject *__pyx_v_canal_size) {
PyObject *__pyx_v_total_canal = NULL;
PyObject *__pyx_v_starting_point = NULL;
PyObject *__pyx_v_new_canal = NULL;
PyObject *__pyx_v_canal_range = NULL;
PyObject *__pyx_v_ending_point = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__67)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_canal_range", 0);
__Pyx_TraceCall("set_canal_range", __pyx_f[0], 4467, 0, __PYX_ERR(0, 4467, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_canal_range", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_total_canal);
__Pyx_XDECREF(__pyx_v_starting_point);
__Pyx_XDECREF(__pyx_v_new_canal);
__Pyx_XDECREF(__pyx_v_canal_range);
__Pyx_XDECREF(__pyx_v_ending_point);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__130 = PyTuple_Pack(11, __pyx_n_s_self, __pyx_n_s_flow_dir, __pyx_n_s_flow_type, __pyx_n_s_canal, __pyx_n_s_prev_canal, __pyx_n_s_canal_size, __pyx_n_s_total_canal, __pyx_n_s_starting_point, __pyx_n_s_new_canal, __pyx_n_s_canal_range, __pyx_n_s_ending_point); if (unlikely(!__pyx_tuple__130)) __PYX_ERR(0, 4467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__130);
__Pyx_GIVEREF(__pyx_tuple__130);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_83set_canal_range, 0, __pyx_n_s_Model_set_canal_range, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4467, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_canal_range, __pyx_t_2) < 0) __PYX_ERR(0, 4467, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(6, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__130, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_canal_range, 4467, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 4467, __pyx_L1_error)
4468: #this function searches through the self.canal_district dictionary to find the
4469: #node index range for any canal, given the flow direction on the canal and the
4470: #previous or connecting canal (i.e., where the water is coming from). If this is
4471: #the first canal in a search series (and the water is coming from a reservoir), this
4472: #function will identify that reservoir as the starting point and find the node index range
4473: #for a canal starting at the reservoir
4474: #EXAMPLE - if flow is coming from the friant-kern canal, and flowing in 'reverse' direction
4475: #onto the cross valley canal, this function will identify the 'starting point' on the XVC
4476: #as node #9 (index starts at zero) and the 'range' of flow as nodes #8-#0 (at which point the
4477: #search will continue onto the california aqueduct
+4478: total_canal = self.canal_district_len[canal.name]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4478, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4478, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4478, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_total_canal = __pyx_t_3; __pyx_t_3 = 0;
4479: #recharge flows move down the canals starting from the reservoirs
+4480: if flow_type == "recharge":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_type, __pyx_n_u_recharge, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4480, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L3; }
+4481: for starting_point, new_canal in enumerate(self.canal_district[canal.name]):
__Pyx_INCREF(__pyx_int_0); __pyx_t_3 = __pyx_int_0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4481, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4481, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4481, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_7(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4481, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_new_canal, __pyx_t_5); __pyx_t_5 = 0; __Pyx_INCREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_starting_point, __pyx_t_3); __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = __pyx_t_5; __pyx_t_5 = 0; /* … */ } __pyx_L5_break:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4482: if new_canal.key == prev_canal:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_prev_canal, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4482, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4482, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ }
+4483: break
goto __pyx_L5_break;
+4484: if flow_dir == "normal":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4484, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L7; }
+4485: starting_point += 1
if (unlikely(!__pyx_v_starting_point)) { __Pyx_RaiseUnboundLocalError("starting_point"); __PYX_ERR(0, 4485, __pyx_L1_error) }
__pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_starting_point, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_starting_point, __pyx_t_3);
__pyx_t_3 = 0;
+4486: canal_range = range(starting_point,canal_size)
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_starting_point); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_canal_size); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_canal_range = __pyx_t_1; __pyx_t_1 = 0;
+4487: elif flow_dir == "reverse":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4487, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L7; }
+4488: starting_point -= 1
if (unlikely(!__pyx_v_starting_point)) { __Pyx_RaiseUnboundLocalError("starting_point"); __PYX_ERR(0, 4488, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_starting_point, __pyx_int_1, 1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4488, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_starting_point, __pyx_t_1);
__pyx_t_1 = 0;
+4489: canal_range = range(starting_point,total_canal - canal_size,-1)
__pyx_t_1 = PyNumber_Subtract(__pyx_v_total_canal, __pyx_v_canal_size); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_starting_point); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_neg_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_canal_range = __pyx_t_1; __pyx_t_1 = 0;
4490: else:
+4491: return (range(0, 0), 0.0)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_float_0_0);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
}
__pyx_L7:;
/* … */
__pyx_tuple__68 = PyTuple_Pack(2, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__68)) __PYX_ERR(0, 4491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__68);
__Pyx_GIVEREF(__pyx_tuple__68);
4492:
+4493: elif flow_type == "recovery":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4493, __pyx_L1_error) if (__pyx_t_4) { /* … */ } __pyx_L3:;
+4494: if flow_dir == "normal":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4494, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L8; }
+4495: if self.canal_district[canal.name][0].is_Reservoir:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_is_Reservoir); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L9; }
+4496: starting_point = 1
__Pyx_INCREF(__pyx_int_1);
__pyx_v_starting_point = __pyx_int_1;
4497: else:
+4498: starting_point = 0
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_v_starting_point = __pyx_int_0;
}
__pyx_L9:;
+4499: if prev_canal == "none":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_prev_canal, __pyx_n_u_none, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4499, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L10; }
+4500: canal_range = range(starting_point, canal_size)
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_starting_point); __Pyx_INCREF(__pyx_v_canal_size); __Pyx_GIVEREF(__pyx_v_canal_size); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_canal_size); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_canal_range = __pyx_t_1; __pyx_t_1 = 0;
4501: else:
+4502: for ending_point, new_canal in enumerate(self.canal_district[canal.name]):
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_t_1 = __pyx_int_0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4502, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4502, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4502, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
} else {
__pyx_t_5 = __pyx_t_7(__pyx_t_3);
if (unlikely(!__pyx_t_5)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4502, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_5);
}
__Pyx_XDECREF_SET(__pyx_v_new_canal, __pyx_t_5);
__pyx_t_5 = 0;
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_ending_point, __pyx_t_1);
__pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4502, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_5;
__pyx_t_5 = 0;
/* … */
}
__pyx_L12_break:;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4503: if new_canal.key == prev_canal:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_prev_canal, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4503, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4503, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ }
+4504: break
goto __pyx_L12_break;
+4505: if ending_point == 0:
if (unlikely(!__pyx_v_ending_point)) { __Pyx_RaiseUnboundLocalError("ending_point"); __PYX_ERR(0, 4505, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_ending_point, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4505, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_4) {
/* … */
goto __pyx_L14;
}
+4506: if canal.recovery_feeder:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_feeder); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4506, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L15; }
+4507: canal_range = (0, 0)
__Pyx_INCREF(__pyx_tuple__68);
__pyx_v_canal_range = __pyx_tuple__68;
4508: else:
+4509: canal_range = range(starting_point, self.canal_district_len[canal.name])
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_starting_point);
__Pyx_GIVEREF(__pyx_v_starting_point);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_starting_point);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4509, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_canal_range = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L15:;
4510: else:
4511: #ending_point -= 1
+4512: canal_range = range(starting_point, ending_point)
/*else*/ {
if (unlikely(!__pyx_v_ending_point)) { __Pyx_RaiseUnboundLocalError("ending_point"); __PYX_ERR(0, 4512, __pyx_L1_error) }
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_starting_point);
__Pyx_GIVEREF(__pyx_v_starting_point);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_starting_point);
__Pyx_INCREF(__pyx_v_ending_point);
__Pyx_GIVEREF(__pyx_v_ending_point);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_ending_point);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_canal_range = __pyx_t_3;
__pyx_t_3 = 0;
}
__pyx_L14:;
}
__pyx_L10:;
+4513: elif flow_dir == "reverse":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4513, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L8; }
+4514: starting_point = self.canal_district_len[canal.name] - 1
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_starting_point = __pyx_t_2; __pyx_t_2 = 0;
+4515: if prev_canal == "none":
__pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_v_prev_canal, __pyx_n_u_none, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4515, __pyx_L1_error) if (__pyx_t_4) { /* … */ goto __pyx_L16; }
+4516: canal_range = range(starting_point, -1, -1)
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_starting_point); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_neg_1); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_int_neg_1); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_canal_range = __pyx_t_1; __pyx_t_1 = 0;
4517: else:
+4518: for ending_point, new_canal in enumerate(self.canal_district[canal.name]):
/*else*/ {
__Pyx_INCREF(__pyx_int_0);
__pyx_t_1 = __pyx_int_0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
__pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4518, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4518, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 4518, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
} else {
__pyx_t_5 = __pyx_t_7(__pyx_t_3);
if (unlikely(!__pyx_t_5)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4518, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_5);
}
__Pyx_XDECREF_SET(__pyx_v_new_canal, __pyx_t_5);
__pyx_t_5 = 0;
__Pyx_INCREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_ending_point, __pyx_t_1);
__pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1);
__pyx_t_1 = __pyx_t_5;
__pyx_t_5 = 0;
/* … */
}
__pyx_L18_break:;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+4519: if new_canal.key == prev_canal:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_new_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_v_prev_canal, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4519, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4519, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ }
+4520: break
goto __pyx_L18_break;
+4521: if ending_point == (self.canal_district_len[canal.name] - 1):
if (unlikely(!__pyx_v_ending_point)) { __Pyx_RaiseUnboundLocalError("ending_point"); __PYX_ERR(0, 4521, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyObject_RichCompare(__pyx_v_ending_point, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_t_4) {
/* … */
goto __pyx_L20;
}
+4522: if canal.recovery_feeder:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_feeder); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4522, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 4522, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_4) { /* … */ goto __pyx_L21; }
+4523: canal_range = (0,0)
__Pyx_INCREF(__pyx_tuple__68);
__pyx_v_canal_range = __pyx_tuple__68;
4524: else:
+4525: canal_range = range(starting_point, 0, -1)
/*else*/ {
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_starting_point);
__Pyx_GIVEREF(__pyx_v_starting_point);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_starting_point);
__Pyx_INCREF(__pyx_int_0);
__Pyx_GIVEREF(__pyx_int_0);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_int_0);
__Pyx_INCREF(__pyx_int_neg_1);
__Pyx_GIVEREF(__pyx_int_neg_1);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_int_neg_1);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_canal_range = __pyx_t_3;
__pyx_t_3 = 0;
}
__pyx_L21:;
4526: else:
4527: #ending_point += 1
+4528: canal_range = range(starting_point, ending_point, -1)
/*else*/ {
if (unlikely(!__pyx_v_ending_point)) { __Pyx_RaiseUnboundLocalError("ending_point"); __PYX_ERR(0, 4528, __pyx_L1_error) }
__pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_starting_point);
__Pyx_GIVEREF(__pyx_v_starting_point);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_starting_point);
__Pyx_INCREF(__pyx_v_ending_point);
__Pyx_GIVEREF(__pyx_v_ending_point);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_ending_point);
__Pyx_INCREF(__pyx_int_neg_1);
__Pyx_GIVEREF(__pyx_int_neg_1);
PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_int_neg_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4528, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_canal_range = __pyx_t_2;
__pyx_t_2 = 0;
}
__pyx_L20:;
}
__pyx_L16:;
4529: else:
+4530: return(range(0, 0), 0.0)
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_tuple__68, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4530, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_float_0_0);
__pyx_t_2 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
}
__pyx_L8:;
+4531: return canal_range, starting_point
__Pyx_XDECREF(__pyx_r); if (unlikely(!__pyx_v_canal_range)) { __Pyx_RaiseUnboundLocalError("canal_range"); __PYX_ERR(0, 4531, __pyx_L1_error) } if (unlikely(!__pyx_v_starting_point)) { __Pyx_RaiseUnboundLocalError("starting_point"); __PYX_ERR(0, 4531, __pyx_L1_error) } __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_canal_range); __Pyx_GIVEREF(__pyx_v_canal_range); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_canal_range); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_starting_point); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0;
4532:
4533:
4534:
+4535: def distribute_canal_deliveries(self, int dowy, canal, prev_canal, contract_canal, double available_flow, int canal_size, int wateryear, str flow_dir, str flow_type, str search_type):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_85distribute_canal_deliveries(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_85distribute_canal_deliveries = {"distribute_canal_deliveries", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_85distribute_canal_deliveries, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_85distribute_canal_deliveries(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
int __pyx_v_dowy;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_prev_canal = 0;
PyObject *__pyx_v_contract_canal = 0;
double __pyx_v_available_flow;
int __pyx_v_canal_size;
int __pyx_v_wateryear;
PyObject *__pyx_v_flow_dir = 0;
PyObject *__pyx_v_flow_type = 0;
PyObject *__pyx_v_search_type = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("distribute_canal_deliveries (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_dowy,&__pyx_n_s_canal,&__pyx_n_s_prev_canal,&__pyx_n_s_contract_canal,&__pyx_n_s_available_flow,&__pyx_n_s_canal_size,&__pyx_n_s_wateryear,&__pyx_n_s_flow_dir,&__pyx_n_s_flow_type,&__pyx_n_s_search_type,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 1); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 2); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_prev_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 3); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 4); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_available_flow)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 5); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal_size)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 6); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 7); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_dir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 8); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 9); __PYX_ERR(0, 4535, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_search_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, 10); __PYX_ERR(0, 4535, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "distribute_canal_deliveries") < 0)) __PYX_ERR(0, 4535, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 11) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
}
__pyx_v_self = values[0];
__pyx_v_dowy = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dowy == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4535, __pyx_L3_error)
__pyx_v_canal = values[2];
__pyx_v_prev_canal = values[3];
__pyx_v_contract_canal = values[4];
__pyx_v_available_flow = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_available_flow == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4535, __pyx_L3_error)
__pyx_v_canal_size = __Pyx_PyInt_As_int(values[6]); if (unlikely((__pyx_v_canal_size == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4535, __pyx_L3_error)
__pyx_v_wateryear = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_wateryear == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4535, __pyx_L3_error)
__pyx_v_flow_dir = ((PyObject*)values[8]);
__pyx_v_flow_type = ((PyObject*)values[9]);
__pyx_v_search_type = ((PyObject*)values[10]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("distribute_canal_deliveries", 1, 11, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4535, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.distribute_canal_deliveries", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flow_dir), (&PyUnicode_Type), 1, "flow_dir", 1))) __PYX_ERR(0, 4535, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flow_type), (&PyUnicode_Type), 1, "flow_type", 1))) __PYX_ERR(0, 4535, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_search_type), (&PyUnicode_Type), 1, "search_type", 1))) __PYX_ERR(0, 4535, __pyx_L1_error)
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_84distribute_canal_deliveries(__pyx_self, __pyx_v_self, __pyx_v_dowy, __pyx_v_canal, __pyx_v_prev_canal, __pyx_v_contract_canal, __pyx_v_available_flow, __pyx_v_canal_size, __pyx_v_wateryear, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_search_type);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
/* … */
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_84distribute_canal_deliveries(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, int __pyx_v_dowy, PyObject *__pyx_v_canal, PyObject *__pyx_v_prev_canal, PyObject *__pyx_v_contract_canal, double __pyx_v_available_flow, int __pyx_v_canal_size, int __pyx_v_wateryear, PyObject *__pyx_v_flow_dir, PyObject *__pyx_v_flow_type, PyObject *__pyx_v_search_type) {
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *__pyx_cur_scope;
PyObject *__pyx_v_type_list = 0;
PyObject *__pyx_v_priority_list = 0;
PyObject *__pyx_v_contract_list = 0;
PyObject *__pyx_v_empty_demands = 0;
PyObject *__pyx_v_type_deliveries = 0;
PyObject *__pyx_v_type_demands = 0;
PyObject *__pyx_v_type_fractions = 0;
PyObject *__pyx_v_canal_fractions = 0;
PyObject *__pyx_v_priorities = 0;
PyObject *__pyx_v_priority_turnout_adjusted = 0;
PyObject *__pyx_v_delivery_by_contract = 0;
PyObject *__pyx_v_private_deliveries = 0;
PyObject *__pyx_v_city_deliveries = 0;
PyObject *__pyx_v_unmet_demands = 0;
PyObject *__pyx_v_canal_demands = 0;
CYTHON_UNUSED PyObject *__pyx_v_unmet_canal_demands = 0;
int __pyx_v_toggle_partial_delivery;
int __pyx_v_toggle_district_recharge;
int __pyx_v_starting_point;
int __pyx_v_num_members;
int __pyx_v_new_canal_size;
int __pyx_v_turnback_end;
double __pyx_v_excess_flow;
CYTHON_UNUSED double __pyx_v_unmet_demand;
double __pyx_v_total_demand;
double __pyx_v_turnback_flow;
double __pyx_v_excess_flow_int;
double __pyx_v_available_capacity_int;
double __pyx_v_private_demand_constraint;
double __pyx_v_location_delivery;
double __pyx_v_demand_constraint;
double __pyx_v_current_storage;
double __pyx_v_priority_bank_space;
double __pyx_v_actual_deliveries;
double __pyx_v_direct_deliveries;
double __pyx_v_recharge_deliveries;
double __pyx_v_undelivered;
double __pyx_v_private_delivery_constraint;
double __pyx_v_delivery_to_private;
double __pyx_v_city_demand_constraint;
double __pyx_v_city_delivery_constraint;
double __pyx_v_turnout_available;
double __pyx_v_new_excess_flow;
double __pyx_v_remaining_excess_flow;
double __pyx_v_deliveries;
PyObject *__pyx_v_list_member = NULL;
PyObject *__pyx_v_canal_loc = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_private_land = NULL;
PyObject *__pyx_v_district_lands = NULL;
PyObject *__pyx_v_city_pump = NULL;
PyObject *__pyx_v_district_pump = NULL;
PyObject *__pyx_v_new_flow_dir = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__69)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("distribute_canal_deliveries", 0);
__pyx_cur_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *)__pyx_tp_new_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries(__pyx_ptype_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4535, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__Pyx_TraceCall("distribute_canal_deliveries", __pyx_f[0], 4535, 0, __PYX_ERR(0, 4535, __pyx_L1_error));
__pyx_cur_scope->__pyx_v_canal = __pyx_v_canal;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_canal);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_canal);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_XDECREF(__pyx_t_25);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.distribute_canal_deliveries", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_type_list);
__Pyx_XDECREF(__pyx_v_priority_list);
__Pyx_XDECREF(__pyx_v_contract_list);
__Pyx_XDECREF(__pyx_v_empty_demands);
__Pyx_XDECREF(__pyx_v_type_deliveries);
__Pyx_XDECREF(__pyx_v_type_demands);
__Pyx_XDECREF(__pyx_v_type_fractions);
__Pyx_XDECREF(__pyx_v_canal_fractions);
__Pyx_XDECREF(__pyx_v_priorities);
__Pyx_XDECREF(__pyx_v_priority_turnout_adjusted);
__Pyx_XDECREF(__pyx_v_delivery_by_contract);
__Pyx_XDECREF(__pyx_v_private_deliveries);
__Pyx_XDECREF(__pyx_v_city_deliveries);
__Pyx_XDECREF(__pyx_v_unmet_demands);
__Pyx_XDECREF(__pyx_v_canal_demands);
__Pyx_XDECREF(__pyx_v_unmet_canal_demands);
__Pyx_XDECREF(__pyx_v_list_member);
__Pyx_XDECREF(__pyx_v_canal_loc);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_private_land);
__Pyx_XDECREF(__pyx_v_district_lands);
__Pyx_XDECREF(__pyx_v_city_pump);
__Pyx_XDECREF(__pyx_v_district_pump);
__Pyx_XDECREF(__pyx_v_new_flow_dir);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__131 = PyTuple_Pack(73, __pyx_n_s_self, __pyx_n_s_dowy, __pyx_n_s_canal, __pyx_n_s_prev_canal, __pyx_n_s_contract_canal, __pyx_n_s_available_flow, __pyx_n_s_canal_size, __pyx_n_s_wateryear, __pyx_n_s_flow_dir, __pyx_n_s_flow_type, __pyx_n_s_search_type, __pyx_n_s_type_list, __pyx_n_s_priority_list, __pyx_n_s_contract_list, __pyx_n_s_empty_demands, __pyx_n_s_type_deliveries, __pyx_n_s_type_demands, __pyx_n_s_type_fractions, __pyx_n_s_canal_fractions, __pyx_n_s_priorities, __pyx_n_s_priority_turnout_adjusted, __pyx_n_s_delivery_by_contract, __pyx_n_s_private_deliveries, __pyx_n_s_city_deliveries, __pyx_n_s_unmet_demands, __pyx_n_s_canal_demands, __pyx_n_s_unmet_canal_demands, __pyx_n_s_toggle_partial_delivery, __pyx_n_s_toggle_district_recharge, __pyx_n_s_starting_point, __pyx_n_s_num_members, __pyx_n_s_new_canal_size, __pyx_n_s_turnback_end, __pyx_n_s_excess_flow, __pyx_n_s_unmet_demand, __pyx_n_s_total_demand, __pyx_n_s_turnback_flow, __pyx_n_s_excess_flow_int, __pyx_n_s_available_capacity_int, __pyx_n_s_private_demand_constraint, __pyx_n_s_location_delivery, __pyx_n_s_demand_constraint, __pyx_n_s_current_storage, __pyx_n_s_priority_bank_space, __pyx_n_s_actual_deliveries, __pyx_n_s_direct_deliveries, __pyx_n_s_recharge_deliveries, __pyx_n_s_undelivered, __pyx_n_s_private_delivery_constraint, __pyx_n_s_delivery_to_private, __pyx_n_s_city_demand_constraint, __pyx_n_s_city_delivery_constraint, __pyx_n_s_turnout_available, __pyx_n_s_new_excess_flow, __pyx_n_s_remaining_excess_flow, __pyx_n_s_deliveries, __pyx_n_s_list_member, __pyx_n_s_canal_range, __pyx_n_s_zz, __pyx_n_s_canal_loc, __pyx_n_s_x, __pyx_n_s_xx, __pyx_n_s_wb_member, __pyx_n_s_y, __pyx_n_s_private_land, __pyx_n_s_district_lands, __pyx_n_s_city_pump, __pyx_n_s_district_pump, __pyx_n_s_new_flow_dir, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr, __pyx_n_s_genexpr); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(0, 4535, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__131);
__Pyx_GIVEREF(__pyx_tuple__131);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_85distribute_canal_deliveries, 0, __pyx_n_s_Model_distribute_canal_deliverie_2, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4535, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_distribute_canal_deliveries, __pyx_t_2) < 0) __PYX_ERR(0, 4535, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(11, 0, 73, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_distribute_canal_deliveries, 4535, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 4535, __pyx_L1_error)
/* … */
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries {
PyObject_HEAD
PyObject *__pyx_v_canal;
PyObject *__pyx_v_canal_range;
PyObject *__pyx_v_x;
PyObject *__pyx_v_zz;
};
4536: ## Cython type declarations for whole function
4537: cdef list type_list, priority_list, contract_list
4538: cdef dict empty_demands, type_deliveries, type_demands, type_fractions, canal_fractions, priorities, priority_turnout_adjusted, \
4539: delivery_by_contract, private_deliveries, city_deliveries, unmet_demands, canal_demands, unmet_canal_demands
4540: cdef int toggle_partial_delivery, toggle_district_recharge, starting_point, num_members, new_canal_size, turnback_end
4541: cdef double excess_flow, unmet_demand, total_demand, turnback_flow, excess_flow_int, available_capacity_int, private_demand_constraint, \
4542: location_delivery, demand_constraint, current_storage, priority_bank_space, actual_deliveries, direct_deliveries, \
4543: recharge_deliveries, undelivered, private_delivery_constraint, delivery_to_private, city_demand_constraint, city_delivery_constraint, \
4544: turnout_available, new_excess_flow, remaining_excess_flow, deliveries
4545:
+4546: if search_type == 'delivery':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_delivery, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4546, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L3; }
4547: #for regular deliveries, we need to distinguish between demands from each contract
4548: #because the distribute_canal_deliveries and search_canal_demands functions are called
4549: #one reservoir at a time, there are only multiple 'types' of demand when there are more
4550: #than one type of contract at a reservoir
4551: #NOTE: as it is currently written, this implies some sort of contract 'priority' structure
4552: #when there are more than one type of contract at a reservoir. Not sure if this is a valid assumption
4553: #or if it makes a big deal - b/c this is only for direct irrigation deliveries, and not flood/recharge water,
4554: #it might not be a big deal
+4555: type_list = [contract_canal]
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_contract_canal); __pyx_v_type_list = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
4556: # print(contract_canal, type_list)
+4557: toggle_partial_delivery = 1
__pyx_v_toggle_partial_delivery = 1;
+4558: toggle_district_recharge = 0
__pyx_v_toggle_district_recharge = 0;
+4559: elif search_type == 'flood':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_flood_2, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4559, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
4560: #for flood flows, need to distinguish between districts with a contract
4561: #to the water being spilled (1st priority), districts with a turnout on
4562: #a 'favored' canal (i.e, one that won't disrupt flows from other sources,
4563: #2nd priority), and districts with turnouts on other canals that can still
4564: #be technically reached from this source (3rd priority)
+4565: type_list = ['contractor', 'alternate', 'turnout', 'excess']
__pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4565, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_u_contractor); __Pyx_GIVEREF(__pyx_n_u_contractor); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_contractor); __Pyx_INCREF(__pyx_n_u_alternate); __Pyx_GIVEREF(__pyx_n_u_alternate); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_alternate); __Pyx_INCREF(__pyx_n_u_turnout); __Pyx_GIVEREF(__pyx_n_u_turnout); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_u_turnout); __Pyx_INCREF(__pyx_n_u_excess); __Pyx_GIVEREF(__pyx_n_u_excess); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_u_excess); __pyx_v_type_list = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+4566: toggle_partial_delivery = 0
__pyx_v_toggle_partial_delivery = 0;
+4567: toggle_district_recharge = 1
__pyx_v_toggle_district_recharge = 1;
+4568: elif search_type == 'banking':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_banking, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4568, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } __pyx_L3:;
4569: #banking flows need to distinguish between priority space in recharge facilities (i.e., the percentage of the facility
4570: #'owned' by a particular district, and secondary space, which can be used by individual districts if they are not in use
4571: # by the 'owner'
+4572: type_list = ['priority', 'secondary']
__pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_u_priority); __Pyx_GIVEREF(__pyx_n_u_priority); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_priority); __Pyx_INCREF(__pyx_n_u_secondary); __Pyx_GIVEREF(__pyx_n_u_secondary); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_secondary); __pyx_v_type_list = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+4573: toggle_partial_delivery = 0
__pyx_v_toggle_partial_delivery = 0;
+4574: toggle_district_recharge = 1
__pyx_v_toggle_district_recharge = 1;
4575:
4576: #find the range of nodes to 'search' on this canal
+4577: if flow_dir == "closed":
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_closed, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4577, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ }
+4578: empty_demands = {}
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4578, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_v_empty_demands = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+4579: for list_member in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4579, __pyx_L1_error) }
__pyx_t_3 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4579, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
__Pyx_XDECREF_SET(__pyx_v_list_member, __pyx_t_5);
__pyx_t_5 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4580: empty_demands[list_member] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_empty_demands, __pyx_v_list_member, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4580, __pyx_L1_error)
+4581: return available_flow, empty_demands
__Pyx_XDECREF(__pyx_r); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_available_flow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4581, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __Pyx_INCREF(__pyx_v_empty_demands); __Pyx_GIVEREF(__pyx_v_empty_demands); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_empty_demands); __pyx_t_3 = 0; __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
4582: else:
+4583: canal_range, starting_point = self.set_canal_range(flow_dir, flow_type, canal, prev_canal, canal_size)
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_range); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_8 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_cur_scope->__pyx_v_canal, __pyx_v_prev_canal, __pyx_t_6};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_cur_scope->__pyx_v_canal, __pyx_v_prev_canal, __pyx_t_6};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(5+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
}
__Pyx_INCREF(__pyx_v_flow_dir);
__Pyx_GIVEREF(__pyx_v_flow_dir);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_flow_dir);
__Pyx_INCREF(__pyx_v_flow_type);
__Pyx_GIVEREF(__pyx_v_flow_type);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_flow_type);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_canal);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_canal);
PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_cur_scope->__pyx_v_canal);
__Pyx_INCREF(__pyx_v_prev_canal);
__Pyx_GIVEREF(__pyx_v_prev_canal);
PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_prev_canal);
__Pyx_GIVEREF(__pyx_t_6);
PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_8, __pyx_t_6);
__pyx_t_6 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
PyObject* sequence = __pyx_t_5;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 4583, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_3 = PyList_GET_ITEM(sequence, 0);
__pyx_t_9 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_9);
#else
__pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext;
index = 0; __pyx_t_3 = __pyx_t_10(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_3);
index = 1; __pyx_t_9 = __pyx_t_10(__pyx_t_6); if (unlikely(!__pyx_t_9)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_9);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_6), 2) < 0) __PYX_ERR(0, 4583, __pyx_L1_error)
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
goto __pyx_L8_unpacking_done;
__pyx_L7_unpacking_failed:;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 4583, __pyx_L1_error)
__pyx_L8_unpacking_done:;
}
__pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4583, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GIVEREF(__pyx_t_3);
__pyx_cur_scope->__pyx_v_canal_range = __pyx_t_3;
__pyx_t_3 = 0;
__pyx_v_starting_point = __pyx_t_8;
}
4584:
4585: #initialize/clear dictionaries to store demand/delivery variables needed to take
4586: #the total 'available flow' and distribute it among the canal nodes
+4587: type_deliveries = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_type_deliveries = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4588: type_demands = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4588, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_type_demands = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4589: type_fractions = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4589, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_type_fractions = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4590: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4590, __pyx_L1_error) }
__pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4590, __pyx_L1_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_9);
__Pyx_GIVEREF(__pyx_t_9);
__pyx_t_9 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4591: type_deliveries[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_type_deliveries, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4591, __pyx_L1_error)
+4592: type_demands[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4592, __pyx_L1_error)
+4593: type_fractions[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4593, __pyx_L1_error)
4594:
4595: #make sure that the available flow is less than the initial capacity of the canal
+4596: excess_flow = 0.0
__pyx_v_excess_flow = 0.0;
+4597: unmet_demand = 0.0
__pyx_v_unmet_demand = 0.0;
+4598: total_demand = 0.0
__pyx_v_total_demand = 0.0;
+4599: turnback_flow = 0.0
__pyx_v_turnback_flow = 0.0;
+4600: for canal_loc in canal_range:
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_canal_range)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_canal_range)) { __pyx_t_5 = __pyx_cur_scope->__pyx_v_canal_range; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_canal_range); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4600, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4600, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4600, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4600, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_canal_loc, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4601: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4601, __pyx_L1_error) }
__pyx_t_9 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0;
for (;;) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_3); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4601, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4601, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4602: type_demands[zz] += canal.demand[zz][canal_loc]
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_zz); __pyx_t_3 = __pyx_cur_scope->__pyx_v_zz; __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_canal_loc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyDict_SetItem(__pyx_v_type_demands, __pyx_t_3, __pyx_t_13) < 0)) __PYX_ERR(0, 4602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4603: total_demand += canal.demand[zz][canal_loc]
__pyx_t_3 = PyFloat_FromDouble(__pyx_v_total_demand); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_loc); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_total_demand = __pyx_t_14;
4604:
4605: #if the available flow is greater than the total demand on the canal, the difference
4606: #is returned by the function as 'excess flow'
+4607: if available_flow > total_demand:
__pyx_t_1 = ((__pyx_v_available_flow > __pyx_v_total_demand) != 0);
if (__pyx_t_1) {
/* … */
}
+4608: excess_flow += available_flow - total_demand
__pyx_v_excess_flow = (__pyx_v_excess_flow + (__pyx_v_available_flow - __pyx_v_total_demand));
+4609: available_flow = total_demand
__pyx_v_available_flow = __pyx_v_total_demand;
4610:
+4611: available_flow, excess_flow_int = canal.check_flow_capacity(available_flow, starting_point, flow_dir)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_check_flow_capacity); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_available_flow); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_7, __pyx_t_13, __pyx_v_flow_dir}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_7, __pyx_t_13, __pyx_v_flow_dir}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_v_flow_dir); __pyx_t_7 = 0; __pyx_t_13 = 0; __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) { PyObject* sequence = __pyx_t_5; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4611, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_9 = PyList_GET_ITEM(sequence, 0); __pyx_t_6 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); #else __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else { Py_ssize_t index = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_13)->tp_iternext; index = 0; __pyx_t_9 = __pyx_t_10(__pyx_t_13); if (unlikely(!__pyx_t_9)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); index = 1; __pyx_t_6 = __pyx_t_10(__pyx_t_13); if (unlikely(!__pyx_t_6)) goto __pyx_L16_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_13), 2) < 0) __PYX_ERR(0, 4611, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; goto __pyx_L17_unpacking_done; __pyx_L16_unpacking_failed:; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4611, __pyx_L1_error) __pyx_L17_unpacking_done:; } __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_available_flow = __pyx_t_14; __pyx_v_excess_flow_int = __pyx_t_15;
+4612: excess_flow += excess_flow_int
__pyx_v_excess_flow = (__pyx_v_excess_flow + __pyx_v_excess_flow_int);
4613:
+4614: available_capacity_int = max(available_flow, 0.0)
__pyx_t_15 = 0.0;
__pyx_t_14 = __pyx_v_available_flow;
if (((__pyx_t_15 > __pyx_t_14) != 0)) {
__pyx_t_16 = __pyx_t_15;
} else {
__pyx_t_16 = __pyx_t_14;
}
__pyx_v_available_capacity_int = __pyx_t_16;
+4615: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4615, __pyx_L1_error) }
__pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4615, __pyx_L1_error)
#else
__pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4615, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_6);
__Pyx_GIVEREF(__pyx_t_6);
__pyx_t_6 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4616: if type_demands[zz] > 0.0:
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = PyObject_RichCompare(__pyx_t_6, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L20; }
+4617: type_fractions[zz] = max(min(available_capacity_int/type_demands[zz], 1.0), 0.0)
__pyx_t_16 = 0.0;
__pyx_t_15 = 1.0;
__pyx_t_9 = PyFloat_FromDouble(__pyx_v_available_capacity_int); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_9 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_7 = PyObject_RichCompare(__pyx_t_9, __pyx_t_13, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (__pyx_t_1) {
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __pyx_t_7;
__pyx_t_7 = 0;
} else {
__Pyx_INCREF(__pyx_t_13);
__pyx_t_6 = __pyx_t_13;
}
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_INCREF(__pyx_t_6);
__pyx_t_13 = __pyx_t_6;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_7 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = PyObject_RichCompare(__pyx_t_7, __pyx_t_13, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_1) {
__pyx_t_9 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_6 = __pyx_t_9;
__pyx_t_9 = 0;
} else {
__Pyx_INCREF(__pyx_t_13);
__pyx_t_6 = __pyx_t_13;
}
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_13 = __pyx_t_6;
__Pyx_INCREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_t_13) < 0)) __PYX_ERR(0, 4617, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
4618: else:
+4619: type_fractions[zz] = 0.0
/*else*/ {
if (unlikely(PyDict_SetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4619, __pyx_L1_error)
}
__pyx_L20:;
+4620: available_capacity_int -= type_demands[zz]*type_fractions[zz]
__pyx_t_13 = PyFloat_FromDouble(__pyx_v_available_capacity_int); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyNumber_Multiply(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_InPlaceSubtract(__pyx_t_13, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4620, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_available_capacity_int = __pyx_t_16;
4621:
4622: #canal priority
+4623: priority_list = self.canal_priority[canal.name]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(PyList_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 4623, __pyx_L1_error) __pyx_v_priority_list = ((PyObject*)__pyx_t_7); __pyx_t_7 = 0;
4624: #contracts on this canal
+4625: contract_list = self.canal_contract[contract_canal]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_contract_canal); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!(likely(PyList_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(0, 4625, __pyx_L1_error) __pyx_v_contract_list = ((PyObject*)__pyx_t_9); __pyx_t_9 = 0;
+4626: for x in self.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_7 = __pyx_t_9; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4626, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4626, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4626, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_7); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4626, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4627: x.private_demand = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_private_demand, __pyx_t_9) < 0) __PYX_ERR(0, 4627, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4628: x.private_delivery = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__Pyx_PyObject_SetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_private_delivery, __pyx_t_9) < 0) __PYX_ERR(0, 4628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4629: for x in self.urban_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urban_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_9 = __pyx_t_7; __Pyx_INCREF(__pyx_t_9); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4629, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4629, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4629, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_11(__pyx_t_9); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4629, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4630: x.private_demand = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_private_demand, __pyx_t_7) < 0) __PYX_ERR(0, 4630, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4631: x.private_delivery = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_private_delivery, __pyx_t_7) < 0) __PYX_ERR(0, 4631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4632: for x in self.private_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_7 = __pyx_t_9; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4632, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4632, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4632, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4632, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_7); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4632, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4633: for xx in x.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_5 = __pyx_t_9; __Pyx_INCREF(__pyx_t_5); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_17 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4633, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4633, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4633, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_17(__pyx_t_5); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4633, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4634: private_demand_constraint = x.find_node_demand(contract_list, search_type, xx)
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_9); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_9); } else #endif { __pyx_t_3 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_8, __pyx_v_xx); __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4634, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_private_demand_constraint = __pyx_t_16;
+4635: self.district_keys[xx].private_demand[x.key] = private_demand_constraint
__pyx_t_9 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_xx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_t_3, __pyx_t_9) < 0)) __PYX_ERR(0, 4635, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4636: self.district_keys[xx].private_delivery[x.key] = x.set_request_to_district(private_demand_constraint,search_type,contract_list,0.0,dowy,xx)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_13, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_6, __pyx_v_xx}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_13, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_6, __pyx_v_xx}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_19 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_8, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_8, __pyx_v_xx); __pyx_t_13 = 0; __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_19, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_xx); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_19, __pyx_n_s_private_delivery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_t_19, __pyx_t_9) < 0)) __PYX_ERR(0, 4636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4637: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_5 = __pyx_t_7; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4637, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4637, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4637, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4637, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4638: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_9 = __pyx_t_7; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4638, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4638, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4638, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4638, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_17(__pyx_t_9); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4638, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4639: private_demand_constraint = x.find_node_demand(contract_list, search_type, xx)
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_6 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_v_xx); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4639, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_private_demand_constraint = __pyx_t_16;
+4640: self.district_keys[xx].private_demand[x.key] = private_demand_constraint
__pyx_t_7 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_19, __pyx_t_6, __pyx_t_7) < 0)) __PYX_ERR(0, 4640, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4641: self.district_keys[xx].private_delivery[x.key] = x.set_request_to_district(private_demand_constraint,search_type,contract_list,0.0,dowy,xx)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_19 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[7] = {__pyx_t_13, __pyx_t_19, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_3, __pyx_v_xx}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[7] = {__pyx_t_13, __pyx_t_19, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_3, __pyx_v_xx}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_18 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_8, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_8, __pyx_v_xx); __pyx_t_19 = 0; __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_18, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_18, __pyx_n_s_private_delivery); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_18, __pyx_t_7) < 0)) __PYX_ERR(0, 4641, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4642:
4643: #initial capacity check on flow available for delivery (i.e., canal capacity at starting node)
4644: #MAIN DISTRIBUTION LOOP - within the canal range identified above, distribute the available flow to each node based on the canal capacity and the different demand magnitudes and priorities at each node
+4645: for canal_loc in canal_range:
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_v_canal_range)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_v_canal_range)) { __pyx_t_5 = __pyx_cur_scope->__pyx_v_canal_range; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0; __pyx_t_11 = NULL; } else { __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_cur_scope->__pyx_v_canal_range); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4645, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4645, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4645, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4645, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_canal_loc, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4646: #first, find the fraction of each priority that can be diverted at this node, based on total canal demands and canal conveyance capacity
4647: # available_capacity_int = available_flow
4648: #for zz in type_list:
4649: #type_demands[zz] = 0.0
4650: #for type_loc in canal_range:
4651: #type_demands[zz] += canal.demand[zz][type_loc]
4652:
4653: #for zz in type_list:
4654: #find the fraction of each priority type that can be filled, based on canal capacity and downstream demands
4655: #if type_demands[zz] > 0.0:
4656: #type_fractions[zz] = max(min(available_capacity_int/type_demands[zz], 1.0), 0.0)
4657: #else:
4658: #type_fractions[zz] = 0.0
4659: #available_capacity_int -= type_demands[zz]*type_fractions[zz]
4660: #type_demands[zz] -= canal.demand[zz][canal_loc]
4661:
4662: #find the object at the current node
+4663: x = self.canal_district[canal.name][canal_loc]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_canal_loc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_x); __Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_x, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = 0;
+4664: location_delivery = 0.0
__pyx_v_location_delivery = 0.0;
4665: # turnout_available = 0.0
4666: # new_excess_flow = 0.0
+4667: if x.is_Waterbank == 1:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_is_Waterbank); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = __Pyx_PyInt_EqObjC(__pyx_t_7, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_18); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4667, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L35; }
4668: #for waterbanks, we calculate the demands of each waterbank partner individually
+4669: for xx in x.participant_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_7 = __pyx_t_18; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4669, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_18); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4669, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_18); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4669, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4669, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_17(__pyx_t_7); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4669, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4670: num_members = self.district_keys_len[xx]
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_num_members = __pyx_t_8;
+4671: for wb_member in self.district_keys[xx]:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_9 = __pyx_t_18; __Pyx_INCREF(__pyx_t_9); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_21 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4671, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_20); __Pyx_INCREF(__pyx_t_18); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4671, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_9, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_20); __Pyx_INCREF(__pyx_t_18); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4671, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_9, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_21(__pyx_t_9); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4671, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4672: #find waterbank partner demand (i.e., recharge capacity of their ownership share)
+4673: demand_constraint = x.find_node_demand(contract_list, xx, num_members, search_type)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_num_members); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_19 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_contract_list, __pyx_v_xx, __pyx_t_3, __pyx_v_search_type}; __pyx_t_18 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_contract_list, __pyx_v_xx, __pyx_t_3, __pyx_v_search_type}; __pyx_t_18 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_13 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_8, __pyx_v_search_type); __pyx_t_3 = 0; __pyx_t_18 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4673, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_demand_constraint = __pyx_t_16;
4674: #find how much water is allocated to each priority demand based on the total space and turnout at this node
+4675: current_storage = sum((x.storage[_] for _ in x.participant_list))
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_genexpr(PyObject *__pyx_self) {
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__pyx_cur_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr *)__pyx_tp_new_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr(__pyx_ptype_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4675, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *) __pyx_self;
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
__pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_2generator, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_Model_distribute_canal_deliverie, __pyx_n_s_calfews_src_cy_model_cy); if (unlikely(!gen)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
}
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.distribute_canal_deliveries.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_2generator(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__Pyx_TraceDeclarations
__pyx_L3_first_run:;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4675, __pyx_L1_error)
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x)) { __Pyx_RaiseClosureNameError("x"); __PYX_ERR(0, 4675, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
__pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4675, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_4)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4675, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4675, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_4(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4675, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x)) { __Pyx_RaiseClosureNameError("x"); __PYX_ERR(0, 4675, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x, __pyx_n_s_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v__); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
__Pyx_XGIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
__pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
__pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
/* return from generator, yielding value */
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L6_resume_from_yield:;
__pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
__pyx_cur_scope->__pyx_t_0 = 0;
__Pyx_XGOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
__pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4675, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
/* function exit code */
PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_XDECREF(__pyx_r); __pyx_r = 0;
#if !CYTHON_USE_EXC_INFO_STACK
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
#endif
__pyx_generator->resume_label = -1;
__Pyx_Coroutine_clear((PyObject*)__pyx_generator);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
/* … */
__pyx_t_18 = __pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_18); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4675, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_current_storage = __pyx_t_16;
/* … */
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_1_genexpr {
PyObject_HEAD
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *__pyx_outer_scope;
PyObject *__pyx_v__;
PyObject *__pyx_t_0;
Py_ssize_t __pyx_t_1;
PyObject *(*__pyx_t_2)(PyObject *);
};
4676: # current_storage = 0.0
4677: # for yy in x.participant_list:
4678: # current_storage += x.storage[yy]
+4679: canal_fractions = canal.find_priority_fractions(x.tot_storage - current_storage, type_fractions, type_list, canal_loc, flow_dir)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_find_priority_fractions); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_tot_storage); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_current_storage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_19 = PyNumber_Subtract(__pyx_t_13, __pyx_t_3); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4679, __pyx_L1_error) } __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_t_19, __pyx_v_type_fractions, __pyx_v_type_list, __pyx_v_canal_loc, __pyx_v_flow_dir}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[6] = {__pyx_t_3, __pyx_t_19, __pyx_v_type_fractions, __pyx_v_type_list, __pyx_v_canal_loc, __pyx_v_flow_dir}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } else #endif { __pyx_t_13 = PyTuple_New(5+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_v_type_fractions); __Pyx_GIVEREF(__pyx_v_type_fractions); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, __pyx_v_type_fractions); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_8, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_8, __pyx_v_flow_dir); __pyx_t_19 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_13, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4679, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_canal_fractions, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
4680: #does this partner want to bank water?
4681: #find if banking partner wants to bank water
+4682: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, x.banked[xx], x.bank_cap[xx], dowy, wateryear)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_13 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_banked); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_xx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_bank_cap); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_t_13, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_3, __pyx_t_22, __pyx_t_19, __pyx_t_23}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_t_13, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_3, __pyx_t_22, __pyx_t_19, __pyx_t_23}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_25 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_24); __pyx_t_24 = NULL; } __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_8, __pyx_t_13); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_8, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_8, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_25, 6+__pyx_t_8, __pyx_t_23); __pyx_t_13 = 0; __pyx_t_3 = 0; __pyx_t_22 = 0; __pyx_t_19 = 0; __pyx_t_23 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_25, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4682, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_deliveries = __pyx_t_16;
4683: #flood deliveries to bank
4684: #deliveries = x.set_request_constraints(demand_constraint, search_type, contract_list)
4685: #what priority does their banked water have (can be both)
+4686: priority_bank_space = x.find_priority_space(num_members, xx, search_type)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_priority_space); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_num_members); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[4] = {__pyx_t_23, __pyx_t_25, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[4] = {__pyx_t_23, __pyx_t_25, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_19 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_8, __pyx_t_25); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_8, __pyx_v_xx); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_8, __pyx_v_search_type); __pyx_t_25 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_19, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_priority_bank_space = __pyx_t_16;
+4687: priorities = x.set_demand_priority(priority_list, contract_list, priority_bank_space, deliveries, demand_constraint, search_type, contract_canal, canal.name, wb_member.contract_list)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = PyFloat_FromDouble(__pyx_v_priority_bank_space); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_25 = PyFloat_FromDouble(__pyx_v_deliveries); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[10] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_19, __pyx_t_25, __pyx_t_23, __pyx_v_search_type, __pyx_v_contract_canal, __pyx_t_22, __pyx_t_3}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 9+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[10] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_19, __pyx_t_25, __pyx_t_23, __pyx_v_search_type, __pyx_v_contract_canal, __pyx_t_22, __pyx_t_3}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 9+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_24 = PyTuple_New(9+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_8, __pyx_t_23); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_8, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 7+__pyx_t_8, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 8+__pyx_t_8, __pyx_t_3); __pyx_t_19 = 0; __pyx_t_25 = 0; __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_24, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4687, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_priorities, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
4688: #need to adjust the water request to account for the banking partner share of the turnout
+4689: priority_turnout_adjusted = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_priority_turnout_adjusted, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
+4690: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4690, __pyx_L1_error) }
__pyx_t_6 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_6); __pyx_t_26 = 0;
for (;;) {
if (__pyx_t_26 >= PyList_GET_SIZE(__pyx_t_6)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_18 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_26); __Pyx_INCREF(__pyx_t_18); __pyx_t_26++; if (unlikely(0 < 0)) __PYX_ERR(0, 4690, __pyx_L1_error)
#else
__pyx_t_18 = PySequence_ITEM(__pyx_t_6, __pyx_t_26); __pyx_t_26++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4690, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_18);
__Pyx_GIVEREF(__pyx_t_18);
__pyx_t_18 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+4691: priority_turnout_adjusted[zz] = priorities[zz]*canal.turnout_frac[zz][canal_loc]
if (unlikely(__pyx_v_priorities == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 4691, __pyx_L1_error)
}
__pyx_t_18 = __Pyx_PyDict_GetItem(__pyx_v_priorities, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_canal_loc); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Multiply(__pyx_t_18, __pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_priority_turnout_adjusted, __pyx_cur_scope->__pyx_v_zz, __pyx_t_3) < 0)) __PYX_ERR(0, 4691, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4692: #deliver water to the waterbank
+4693: actual_deliveries = x.set_deliveries(priority_turnout_adjusted,canal_fractions,type_list,xx)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_deliveries); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4693, __pyx_L1_error) } __pyx_t_24 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[5] = {__pyx_t_24, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_xx}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[5] = {__pyx_t_24, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_xx}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { __pyx_t_18 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_24); __pyx_t_24 = NULL; } __Pyx_INCREF(__pyx_v_priority_turnout_adjusted); __Pyx_GIVEREF(__pyx_v_priority_turnout_adjusted); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_8, __pyx_v_priority_turnout_adjusted); __Pyx_INCREF(__pyx_v_canal_fractions); __Pyx_GIVEREF(__pyx_v_canal_fractions); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_8, __pyx_v_canal_fractions); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_8, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_8, __pyx_v_xx); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_18, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_actual_deliveries = __pyx_t_16;
4694: #keep track of total demands at this node
+4695: location_delivery += actual_deliveries
__pyx_v_location_delivery = (__pyx_v_location_delivery + __pyx_v_actual_deliveries);
4696: #adjust accounts for overall contracts and invididual districts
+4697: delivery_by_contract = wb_member.adjust_accounts(0.0, actual_deliveries,contract_list, search_type, wateryear, x.key)
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_actual_deliveries); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_23, __pyx_float_0_0, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_24, __pyx_t_22}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[7] = {__pyx_t_23, __pyx_float_0_0, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_24, __pyx_t_22}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_25 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_8, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 4+__pyx_t_8, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_25, 5+__pyx_t_8, __pyx_t_22); __pyx_t_18 = 0; __pyx_t_24 = 0; __pyx_t_22 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_25, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_6)->tp_name), 0))) __PYX_ERR(0, 4697, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_delivery_by_contract, ((PyObject*)__pyx_t_6)); __pyx_t_6 = 0;
4698:
+4699: for y in delivery_by_contract:
__pyx_t_26 = 0;
if (unlikely(__pyx_v_delivery_by_contract == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 4699, __pyx_L1_error)
}
__pyx_t_3 = __Pyx_dict_iterator(__pyx_v_delivery_by_contract, 1, ((PyObject *)NULL), (&__pyx_t_27), (&__pyx_t_8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__pyx_t_6 = __pyx_t_3;
__pyx_t_3 = 0;
while (1) {
__pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_6, __pyx_t_27, &__pyx_t_26, &__pyx_t_3, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_28 == 0)) break;
if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 4699, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_3);
__pyx_t_3 = 0;
4700: #update the accounting for deliveries made by each contract (overall contract accounting - not ind. district)
4701: # contract_object = self.contract_keys[y]
+4702: self.contract_keys[y].adjust_accounts(delivery_by_contract[y], search_type, wateryear)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(__pyx_v_delivery_by_contract == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4702, __pyx_L1_error) } __pyx_t_22 = __Pyx_PyDict_GetItem(__pyx_v_delivery_by_contract, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_18 = NULL; __pyx_t_28 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_28 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_t_22, __pyx_v_search_type, __pyx_t_24}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_t_22, __pyx_v_search_type, __pyx_t_24}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_23 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_28, __pyx_t_22); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_28, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_28, __pyx_t_24); __pyx_t_22 = 0; __pyx_t_24 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
4703:
4704: #find new banking demands
+4705: self.find_node_demand_bank(x, canal, canal_loc, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_bank); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4705, __pyx_L1_error) } __pyx_t_25 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[11] = {__pyx_t_25, __pyx_cur_scope->__pyx_v_x, __pyx_cur_scope->__pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_6, __pyx_t_3, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[11] = {__pyx_t_25, __pyx_cur_scope->__pyx_v_x, __pyx_cur_scope->__pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_6, __pyx_t_3, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_23 = PyTuple_New(10+__pyx_t_8); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_x); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_8, __pyx_cur_scope->__pyx_v_x); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_canal); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_8, __pyx_cur_scope->__pyx_v_canal); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_8, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_8, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_23, 8+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_23, 9+__pyx_t_8, __pyx_v_type_list); __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_23, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4706: current_storage = sum((x.storage[_] for _ in x.participant_list))
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_3genexpr(PyObject *__pyx_self) {
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__pyx_cur_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr *)__pyx_tp_new_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr(__pyx_ptype_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4706, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *) __pyx_self;
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
__pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_5generator1, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_Model_distribute_canal_deliverie, __pyx_n_s_calfews_src_cy_model_cy); if (unlikely(!gen)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
}
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.distribute_canal_deliveries.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_5generator1(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__Pyx_TraceDeclarations
__pyx_L3_first_run:;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4706, __pyx_L1_error)
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x)) { __Pyx_RaiseClosureNameError("x"); __PYX_ERR(0, 4706, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
__pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4706, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_4)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4706, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 4706, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_4(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4706, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_t_1 = 0;
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x)) { __Pyx_RaiseClosureNameError("x"); __PYX_ERR(0, 4706, __pyx_L1_error) }
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_x, __pyx_n_s_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_cur_scope->__pyx_v__); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
__Pyx_XGIVEREF(__pyx_t_2);
__pyx_cur_scope->__pyx_t_0 = __pyx_t_2;
__pyx_cur_scope->__pyx_t_1 = __pyx_t_3;
__pyx_cur_scope->__pyx_t_2 = __pyx_t_4;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
/* return from generator, yielding value */
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L6_resume_from_yield:;
__pyx_t_2 = __pyx_cur_scope->__pyx_t_0;
__pyx_cur_scope->__pyx_t_0 = 0;
__Pyx_XGOTREF(__pyx_t_2);
__pyx_t_3 = __pyx_cur_scope->__pyx_t_1;
__pyx_t_4 = __pyx_cur_scope->__pyx_t_2;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4706, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
/* function exit code */
PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_XDECREF(__pyx_r); __pyx_r = 0;
#if !CYTHON_USE_EXC_INFO_STACK
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
#endif
__pyx_generator->resume_label = -1;
__Pyx_Coroutine_clear((PyObject*)__pyx_generator);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value); /* proto */
/* … */
__pyx_t_7 = __pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_3genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4706, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_current_storage = __pyx_t_16;
/* … */
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_2_genexpr {
PyObject_HEAD
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *__pyx_outer_scope;
PyObject *__pyx_v__;
PyObject *__pyx_t_0;
Py_ssize_t __pyx_t_1;
PyObject *(*__pyx_t_2)(PyObject *);
};
4707: # current_storage = 0.0
4708: # for xx in x.participant_list:
4709: # current_storage += x.storage[xx]
4710:
+4711: canal.find_turnout_adjustment(x.tot_storage - current_storage, flow_dir, canal_loc, type_list)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_tot_storage); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_current_storage); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = PyNumber_Subtract(__pyx_t_23, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4711, __pyx_L1_error) } __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_t_6, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_t_6, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_23 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_8, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_8, __pyx_v_type_list); __pyx_t_6 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_23, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4711, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
4712:
+4713: elif x.is_District == 1:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_is_District); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_9, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L35; }
4714: #find demand at the node
4715: #partial delivery is used if the district recieves less than full daily demand due to projected contract allocations being lower than expected remaining annual demand
4716: #find district demand at the node
+4717: if search_type == "recovery":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4717, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L44; }
+4718: demand_constraint = x.find_node_output()
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_23 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); } } __pyx_t_7 = (__pyx_t_23) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_23) : __Pyx_PyObject_CallNoArg(__pyx_t_9); __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_demand_constraint = __pyx_t_16;
4719: else:
+4720: demand_constraint = x.find_node_demand(contract_list, search_type, toggle_partial_delivery, toggle_district_recharge)
/*else*/ {
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_toggle_partial_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_9);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_9, function);
__pyx_t_8 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_23, __pyx_t_6};
__pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_23, __pyx_t_6};
__pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
__pyx_t_25 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_8, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_v_search_type);
__Pyx_GIVEREF(__pyx_v_search_type);
PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_8, __pyx_v_search_type);
__Pyx_GIVEREF(__pyx_t_23);
PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_8, __pyx_t_23);
__Pyx_GIVEREF(__pyx_t_6);
PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_8, __pyx_t_6);
__pyx_t_23 = 0;
__pyx_t_6 = 0;
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_25, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4720, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_demand_constraint = __pyx_t_16;
}
__pyx_L44:;
4721: #update the fractions based on turnout capacity/use capacity at the current node
4722:
+4723: canal_fractions = canal.find_priority_fractions(demand_constraint, type_fractions, type_list, canal_loc, flow_dir)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_find_priority_fractions); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_25 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4723, __pyx_L1_error) } __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_25, __pyx_v_type_fractions, __pyx_v_type_list, __pyx_v_canal_loc, __pyx_v_flow_dir}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[6] = {__pyx_t_6, __pyx_t_25, __pyx_v_type_fractions, __pyx_v_type_list, __pyx_v_canal_loc, __pyx_v_flow_dir}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_23 = PyTuple_New(5+__pyx_t_8); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_8, __pyx_t_25); __Pyx_INCREF(__pyx_v_type_fractions); __Pyx_GIVEREF(__pyx_v_type_fractions); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_8, __pyx_v_type_fractions); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_8, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_8, __pyx_v_flow_dir); __pyx_t_25 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_23, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 4723, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_canal_fractions, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
4724: #if a district is an in-leiu bank, partners can send water to this district for banking recharge
+4725: if (x.in_leiu_banking and search_type == "banking") or (x.in_leiu_banking and search_type == "recovery"):
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4725, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (!__pyx_t_1) { goto __pyx_L47_next_or; } else { } __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_banking, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4725, __pyx_L1_error) __pyx_t_29 = (__pyx_t_1 != 0); if (!__pyx_t_29) { } else { __pyx_t_2 = __pyx_t_29; goto __pyx_L46_bool_binop_done; } __pyx_L47_next_or:; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_29 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 4725, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_29) { } else { __pyx_t_2 = __pyx_t_29; goto __pyx_L46_bool_binop_done; } __pyx_t_29 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_29 < 0)) __PYX_ERR(0, 4725, __pyx_L1_error) __pyx_t_1 = (__pyx_t_29 != 0); __pyx_t_2 = __pyx_t_1; __pyx_L46_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L45; }
+4726: for xx in x.participant_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_9 = __pyx_t_7; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4726, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4726, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4726, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4726, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_17(__pyx_t_9); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4726, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4727: num_members = self.district_keys_len[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_23); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4727, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_v_num_members = __pyx_t_8;
+4728: for wb_member in self.district_keys[xx]:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_23 = __pyx_t_7; __Pyx_INCREF(__pyx_t_23); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_21 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4728, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_20); __Pyx_INCREF(__pyx_t_7); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4728, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_20); __Pyx_INCREF(__pyx_t_7); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4728, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_23, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4728, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_21(__pyx_t_23); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4728, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
4729: #find if the banking partner wants to bank
4730:
+4731: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, x.inleiubanked[xx], x.inleiucap[xx], dowy, wateryear)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_xx); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_19 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_19, __pyx_t_6, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_24, __pyx_t_22, __pyx_t_3, __pyx_t_18}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_19, __pyx_t_6, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_24, __pyx_t_22, __pyx_t_3, __pyx_t_18}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_13 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_8, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_8, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 5+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_13, 6+__pyx_t_8, __pyx_t_18); __pyx_t_6 = 0; __pyx_t_24 = 0; __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_18 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4731, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_deliveries = __pyx_t_16;
4732: #determine the priorities of the banking
+4733: priority_bank_space = x.find_leiu_priority_space(demand_constraint, num_members, xx, toggle_district_recharge, search_type)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_leiu_priority_space); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_13 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_num_members); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[6] = {__pyx_t_22, __pyx_t_13, __pyx_t_18, __pyx_v_xx, __pyx_t_3, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[6] = {__pyx_t_22, __pyx_t_13, __pyx_t_18, __pyx_v_xx, __pyx_t_3, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 5+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_24 = PyTuple_New(5+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_8, __pyx_v_search_type); __pyx_t_13 = 0; __pyx_t_18 = 0; __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_24, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4733, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_priority_bank_space = __pyx_t_16;
+4734: priorities = wb_member.set_demand_priority(priority_list, contract_list, priority_bank_space, deliveries, demand_constraint, search_type, contract_canal)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_priority_bank_space); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_deliveries); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_13 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_24, __pyx_t_3, __pyx_t_18, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_24, __pyx_t_3, __pyx_t_18, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_22 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_8, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_8, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_8, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_8, __pyx_v_contract_canal); __pyx_t_24 = 0; __pyx_t_3 = 0; __pyx_t_18 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_22, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 4734, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_priorities, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
4735:
4736: #need to adjust the water request to account for the banking partner share of the turnout
+4737: priority_turnout_adjusted = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_priority_turnout_adjusted, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
+4738: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4738, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_27 = 0;
for (;;) {
if (__pyx_t_27 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_25 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_27); __Pyx_INCREF(__pyx_t_25); __pyx_t_27++; if (unlikely(0 < 0)) __PYX_ERR(0, 4738, __pyx_L1_error)
#else
__pyx_t_25 = PySequence_ITEM(__pyx_t_7, __pyx_t_27); __pyx_t_27++; if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4738, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_25);
__Pyx_GIVEREF(__pyx_t_25);
__pyx_t_25 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4739: priority_turnout_adjusted[zz] = priorities[zz]*canal.turnout_frac[zz][canal_loc]
if (unlikely(__pyx_v_priorities == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 4739, __pyx_L1_error)
}
__pyx_t_25 = __Pyx_PyDict_GetItem(__pyx_v_priorities, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_canal_loc); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_18 = PyNumber_Multiply(__pyx_t_25, __pyx_t_22); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_priority_turnout_adjusted, __pyx_cur_scope->__pyx_v_zz, __pyx_t_18) < 0)) __PYX_ERR(0, 4739, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
4740: #make deliveries, adjust demands & recharge availability
+4741: direct_deliveries, recharge_deliveries, undelivered = x.set_deliveries(priority_turnout_adjusted,canal_fractions,type_list,search_type, toggle_district_recharge,xx,wateryear)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_deliveries); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4741, __pyx_L1_error) } __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_search_type, __pyx_t_22, __pyx_v_xx, __pyx_t_25}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_search_type, __pyx_t_22, __pyx_v_xx, __pyx_t_25}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_24 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_priority_turnout_adjusted); __Pyx_GIVEREF(__pyx_v_priority_turnout_adjusted); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_v_priority_turnout_adjusted); __Pyx_INCREF(__pyx_v_canal_fractions); __Pyx_GIVEREF(__pyx_v_canal_fractions); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_v_canal_fractions); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_8, __pyx_t_22); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_8, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_8, __pyx_t_25); __pyx_t_22 = 0; __pyx_t_25 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_24, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4741, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_18 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_24 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_25 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_18 = PyList_GET_ITEM(sequence, 0); __pyx_t_24 = PyList_GET_ITEM(sequence, 1); __pyx_t_25 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(__pyx_t_25); #else __pyx_t_18 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_24 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_22 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_22)->tp_iternext; index = 0; __pyx_t_18 = __pyx_t_10(__pyx_t_22); if (unlikely(!__pyx_t_18)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_18); index = 1; __pyx_t_24 = __pyx_t_10(__pyx_t_22); if (unlikely(!__pyx_t_24)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_24); index = 2; __pyx_t_25 = __pyx_t_10(__pyx_t_22); if (unlikely(!__pyx_t_25)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_25); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_22), 3) < 0) __PYX_ERR(0, 4741, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; goto __pyx_L57_unpacking_done; __pyx_L56_unpacking_failed:; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4741, __pyx_L1_error) __pyx_L57_unpacking_done:; } __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_24); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_25); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4741, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_v_direct_deliveries = __pyx_t_16; __pyx_v_recharge_deliveries = __pyx_t_15; __pyx_v_undelivered = __pyx_t_14;
+4742: actual_deliveries = direct_deliveries + recharge_deliveries
__pyx_v_actual_deliveries = (__pyx_v_direct_deliveries + __pyx_v_recharge_deliveries);
+4743: location_delivery += actual_deliveries
__pyx_v_location_delivery = (__pyx_v_location_delivery + __pyx_v_actual_deliveries);
4744: #adjust accounts for overall contracts and invididual districts
+4745: delivery_by_contract = wb_member.adjust_accounts(direct_deliveries, recharge_deliveries,contract_list, search_type, wateryear, x.key)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_direct_deliveries); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_recharge_deliveries); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[7] = {__pyx_t_13, __pyx_t_24, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_22, __pyx_t_3}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[7] = {__pyx_t_13, __pyx_t_24, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_22, __pyx_t_3}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_6 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_8, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 5+__pyx_t_8, __pyx_t_3); __pyx_t_24 = 0; __pyx_t_18 = 0; __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_6, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 4745, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_delivery_by_contract, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
+4746: x.adjust_bank_accounts(xx, direct_deliveries, recharge_deliveries, wateryear)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_adjust_bank_accounts); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_direct_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_recharge_deliveries); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[5] = {__pyx_t_18, __pyx_v_xx, __pyx_t_6, __pyx_t_3, __pyx_t_22}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[5] = {__pyx_t_18, __pyx_v_xx, __pyx_t_6, __pyx_t_3, __pyx_t_22}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_24 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_t_22); __pyx_t_6 = 0; __pyx_t_3 = 0; __pyx_t_22 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_24, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4746, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4747: for y in delivery_by_contract:
__pyx_t_27 = 0;
if (unlikely(__pyx_v_delivery_by_contract == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 4747, __pyx_L1_error)
}
__pyx_t_25 = __Pyx_dict_iterator(__pyx_v_delivery_by_contract, 1, ((PyObject *)NULL), (&__pyx_t_26), (&__pyx_t_8)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_7);
__pyx_t_7 = __pyx_t_25;
__pyx_t_25 = 0;
while (1) {
__pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_7, __pyx_t_26, &__pyx_t_27, &__pyx_t_25, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_28 == 0)) break;
if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 4747, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_25);
__pyx_t_25 = 0;
+4748: self.contract_keys[y].adjust_accounts(delivery_by_contract[y], search_type, wateryear)
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_t_22, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (unlikely(__pyx_v_delivery_by_contract == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4748, __pyx_L1_error) } __pyx_t_22 = __Pyx_PyDict_GetItem(__pyx_v_delivery_by_contract, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = NULL; __pyx_t_28 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_24))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_24); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_24, function); __pyx_t_28 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_24)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_22, __pyx_v_search_type, __pyx_t_3}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_24)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_22, __pyx_v_search_type, __pyx_t_3}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_18 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_28, __pyx_t_22); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_28, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_28, __pyx_t_3); __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_24, __pyx_t_18, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4748, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4749: else:
4750: #find if district wants to purchase this type of flow
+4751: deliveries = x.set_request_constraints(demand_constraint, search_type, contract_list, 0.0, 999.0, dowy, wateryear)
/*else*/ {
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_7 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_18 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) {
__pyx_t_18 = PyMethod_GET_SELF(__pyx_t_23);
if (likely(__pyx_t_18)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23);
__Pyx_INCREF(__pyx_t_18);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_23, function);
__pyx_t_8 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_23)) {
PyObject *__pyx_temp[8] = {__pyx_t_18, __pyx_t_7, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_float_999_0, __pyx_t_25, __pyx_t_24};
__pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) {
PyObject *__pyx_temp[8] = {__pyx_t_18, __pyx_t_7, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_float_999_0, __pyx_t_25, __pyx_t_24};
__pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
} else
#endif
{
__pyx_t_3 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_18) {
__Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_18); __pyx_t_18 = NULL;
}
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_t_7);
__Pyx_INCREF(__pyx_v_search_type);
__Pyx_GIVEREF(__pyx_v_search_type);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_v_search_type);
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_8, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_8, __pyx_float_0_0);
__Pyx_INCREF(__pyx_float_999_0);
__Pyx_GIVEREF(__pyx_float_999_0);
PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_8, __pyx_float_999_0);
__Pyx_GIVEREF(__pyx_t_25);
PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_8, __pyx_t_25);
__Pyx_GIVEREF(__pyx_t_24);
PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_8, __pyx_t_24);
__pyx_t_7 = 0;
__pyx_t_25 = 0;
__pyx_t_24 = 0;
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4751, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_deliveries = __pyx_t_14;
4752: #find what priority district has for flow purchases
+4753: priorities = x.set_demand_priority(priority_list, contract_list, demand_constraint, deliveries, demand_constraint, search_type, contract_canal)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_deliveries); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[8] = {__pyx_t_7, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_3, __pyx_t_24, __pyx_t_25, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[8] = {__pyx_t_7, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_t_3, __pyx_t_24, __pyx_t_25, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_18 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_8, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_8, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_8, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_8, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_8, __pyx_t_25); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_18, 6+__pyx_t_8, __pyx_v_contract_canal); __pyx_t_3 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_18, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(0, 4753, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_priorities, ((PyObject*)__pyx_t_9)); __pyx_t_9 = 0;
+4754: priority_turnout_adjusted = {}
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_XDECREF_SET(__pyx_v_priority_turnout_adjusted, ((PyObject*)__pyx_t_9)); __pyx_t_9 = 0;
4755: #need to adjust the water request to account for the banking partner share of the turnout
+4756: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4756, __pyx_L1_error) }
__pyx_t_9 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_12 = 0;
for (;;) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_23 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_12); __Pyx_INCREF(__pyx_t_23); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4756, __pyx_L1_error)
#else
__pyx_t_23 = PySequence_ITEM(__pyx_t_9, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_23);
__Pyx_GIVEREF(__pyx_t_23);
__pyx_t_23 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4757: priority_turnout_adjusted[zz] = priorities[zz]*canal.turnout_frac[zz][canal_loc]
if (unlikely(__pyx_v_priorities == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 4757, __pyx_L1_error)
}
__pyx_t_23 = __Pyx_PyDict_GetItem(__pyx_v_priorities, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__pyx_t_25 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_25, __pyx_v_canal_loc); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
__pyx_t_25 = PyNumber_Multiply(__pyx_t_23, __pyx_t_18); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_priority_turnout_adjusted, __pyx_cur_scope->__pyx_v_zz, __pyx_t_25) < 0)) __PYX_ERR(0, 4757, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
4758: #make deliveries, adjust demands & recharge availability
+4759: direct_deliveries, recharge_deliveries, undelivered = x.set_deliveries(priority_turnout_adjusted,canal_fractions,type_list,search_type,toggle_district_recharge,'none',wateryear)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_set_deliveries); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4759, __pyx_L1_error) } __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_search_type, __pyx_t_18, __pyx_n_u_none, __pyx_t_23}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_v_priority_turnout_adjusted, __pyx_v_canal_fractions, __pyx_v_type_list, __pyx_v_search_type, __pyx_t_18, __pyx_n_u_none, __pyx_t_23}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_3 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_24); __pyx_t_24 = NULL; } __Pyx_INCREF(__pyx_v_priority_turnout_adjusted); __Pyx_GIVEREF(__pyx_v_priority_turnout_adjusted); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_v_priority_turnout_adjusted); __Pyx_INCREF(__pyx_v_canal_fractions); __Pyx_GIVEREF(__pyx_v_canal_fractions); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_v_canal_fractions); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_8, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_n_u_none); __Pyx_GIVEREF(__pyx_n_u_none); PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_8, __pyx_n_u_none); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_8, __pyx_t_23); __pyx_t_18 = 0; __pyx_t_23 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_3, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) { PyObject* sequence = __pyx_t_9; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 3)) { if (size > 3) __Pyx_RaiseTooManyValuesError(3); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4759, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_25 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_23 = PyTuple_GET_ITEM(sequence, 2); } else { __pyx_t_25 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_23 = PyList_GET_ITEM(sequence, 2); } __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_23); #else __pyx_t_25 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_23 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else { Py_ssize_t index = -1; __pyx_t_18 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_18)->tp_iternext; index = 0; __pyx_t_25 = __pyx_t_10(__pyx_t_18); if (unlikely(!__pyx_t_25)) goto __pyx_L62_unpacking_failed; __Pyx_GOTREF(__pyx_t_25); index = 1; __pyx_t_3 = __pyx_t_10(__pyx_t_18); if (unlikely(!__pyx_t_3)) goto __pyx_L62_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); index = 2; __pyx_t_23 = __pyx_t_10(__pyx_t_18); if (unlikely(!__pyx_t_23)) goto __pyx_L62_unpacking_failed; __Pyx_GOTREF(__pyx_t_23); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_18), 3) < 0) __PYX_ERR(0, 4759, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; goto __pyx_L63_unpacking_done; __pyx_L62_unpacking_failed:; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4759, __pyx_L1_error) __pyx_L63_unpacking_done:; } __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_25); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_23); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4759, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_v_direct_deliveries = __pyx_t_14; __pyx_v_recharge_deliveries = __pyx_t_15; __pyx_v_undelivered = __pyx_t_16;
4760: # actual_deliveries = direct_deliveries + recharge_deliveries
4761: #adjust accounts for overall contracts and invididual districts
+4762: if x.has_private:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4762, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4762, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_2) { /* … */ }
+4763: for private_land in self.private_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_23 = __pyx_t_9; __Pyx_INCREF(__pyx_t_23); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_17 = Py_TYPE(__pyx_t_23)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4763, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_23))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_23, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4763, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_23, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_23)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_23, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4763, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_23, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4763, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_17(__pyx_t_23); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4763, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_private_land, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+4764: for district_lands in private_land.district_list:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_land, __pyx_n_s_district_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) { __pyx_t_3 = __pyx_t_9; __Pyx_INCREF(__pyx_t_3); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_21 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4764, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_20); __Pyx_INCREF(__pyx_t_9); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4764, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_20); __Pyx_INCREF(__pyx_t_9); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4764, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_3, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_21(__pyx_t_3); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4764, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_district_lands, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4765: if district_lands == x.key:
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4765, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_25 = PyObject_RichCompare(__pyx_v_district_lands, __pyx_t_9, Py_EQ); __Pyx_XGOTREF(__pyx_t_25); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4765, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_25); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4765, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (__pyx_t_2) { /* … */ }
+4766: private_demand_constraint = private_land.find_node_demand(contract_list, search_type, district_lands)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_land, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_district_lands}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_district_lands}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_25); } else #endif { __pyx_t_24 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_district_lands); __Pyx_GIVEREF(__pyx_v_district_lands); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_v_district_lands); __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_24, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_25); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4766, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_v_private_demand_constraint = __pyx_t_16;
+4767: private_delivery_constraint = private_land.set_request_to_district(private_demand_constraint,search_type,contract_list,0.0,dowy,district_lands)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_land, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_t_24, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_18, __pyx_v_district_lands}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_t_24, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_18, __pyx_v_district_lands}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_22 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_8, __pyx_t_24); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_8, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_district_lands); __Pyx_GIVEREF(__pyx_v_district_lands); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_8, __pyx_v_district_lands); __pyx_t_24 = 0; __pyx_t_18 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_22, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_25); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4767, __pyx_L1_error) __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __pyx_v_private_delivery_constraint = __pyx_t_16;
+4768: delivery_to_private = min(private_demand_constraint, private_delivery_constraint,undelivered)
__pyx_t_16 = __pyx_v_private_delivery_constraint;
__pyx_t_15 = __pyx_v_undelivered;
__pyx_t_14 = __pyx_v_private_demand_constraint;
if (((__pyx_t_16 < __pyx_t_14) != 0)) {
__pyx_t_30 = __pyx_t_16;
} else {
__pyx_t_30 = __pyx_t_14;
}
__pyx_t_14 = __pyx_t_30;
if (((__pyx_t_15 < __pyx_t_14) != 0)) {
__pyx_t_30 = __pyx_t_15;
} else {
__pyx_t_30 = __pyx_t_14;
}
__pyx_v_delivery_to_private = __pyx_t_30;
+4769: undelivered -= delivery_to_private
__pyx_v_undelivered = (__pyx_v_undelivered - __pyx_v_delivery_to_private);
+4770: private_deliveries = private_land.adjust_account_district(delivery_to_private,contract_list,search_type,wateryear, district_lands, x.key)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_private_land, __pyx_n_s_adjust_account_district); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_22 = PyFloat_FromDouble(__pyx_v_delivery_to_private); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_18, __pyx_v_district_lands, __pyx_t_24}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[7] = {__pyx_t_7, __pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_18, __pyx_v_district_lands, __pyx_t_24}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_6 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_t_22); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_district_lands); __Pyx_GIVEREF(__pyx_v_district_lands); PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_8, __pyx_v_district_lands); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_6, 5+__pyx_t_8, __pyx_t_24); __pyx_t_22 = 0; __pyx_t_18 = 0; __pyx_t_24 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_6, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_25))||((__pyx_t_25) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_25)->tp_name), 0))) __PYX_ERR(0, 4770, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_private_deliveries, ((PyObject*)__pyx_t_25)); __pyx_t_25 = 0;
4771:
+4772: for y in private_deliveries:
__pyx_t_26 = 0;
if (unlikely(__pyx_v_private_deliveries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 4772, __pyx_L1_error)
}
__pyx_t_9 = __Pyx_dict_iterator(__pyx_v_private_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_27), (&__pyx_t_8)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4772, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_25);
__pyx_t_25 = __pyx_t_9;
__pyx_t_9 = 0;
while (1) {
__pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_25, __pyx_t_27, &__pyx_t_26, &__pyx_t_9, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_28 == 0)) break;
if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 4772, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_9);
__pyx_t_9 = 0;
+4773: self.contract_keys[y].adjust_accounts(private_deliveries[y], search_type, wateryear)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_24 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_y); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_24, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (unlikely(__pyx_v_private_deliveries == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4773, __pyx_L1_error) } __pyx_t_24 = __Pyx_PyDict_GetItem(__pyx_v_private_deliveries, __pyx_v_y); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_22 = NULL; __pyx_t_28 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_28 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[4] = {__pyx_t_22, __pyx_t_24, __pyx_v_search_type, __pyx_t_18}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[4] = {__pyx_t_22, __pyx_t_24, __pyx_v_search_type, __pyx_t_18}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_28, __pyx_t_24); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_28, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_28, __pyx_t_18); __pyx_t_24 = 0; __pyx_t_18 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4774: location_delivery += private_deliveries[y]
__pyx_t_9 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(__pyx_v_private_deliveries == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4774, __pyx_L1_error) } __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_private_deliveries, __pyx_v_y); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4774, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4774, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_location_delivery = __pyx_t_30; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
4775:
+4776: for city_pump in self.city_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_3 = __pyx_t_23; __Pyx_INCREF(__pyx_t_3); __pyx_t_12 = 0; __pyx_t_17 = NULL; } else { __pyx_t_12 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_17 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4776, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_23); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4776, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_23); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4776, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_17(__pyx_t_3); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4776, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_city_pump, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4777: for district_pump in city_pump.district_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_district_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_25 = __pyx_t_23; __Pyx_INCREF(__pyx_t_25); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_25 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_21 = Py_TYPE(__pyx_t_25)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 4777, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_25))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_25, __pyx_t_20); __Pyx_INCREF(__pyx_t_23); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4777, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_25, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_25)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_25, __pyx_t_20); __Pyx_INCREF(__pyx_t_23); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4777, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_25, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4777, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_21(__pyx_t_25); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4777, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_district_pump, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+4778: if district_pump == x.key:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4778, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_7 = PyObject_RichCompare(__pyx_v_district_pump, __pyx_t_23, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4778, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4778, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ }
+4779: city_demand_constraint = city_pump.find_node_demand(contract_list, search_type, district_pump)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_district_pump}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_district_pump}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_9 = PyTuple_New(3+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_district_pump); __Pyx_GIVEREF(__pyx_v_district_pump); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_v_district_pump); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_city_demand_constraint = __pyx_t_30;
+4780: city_delivery_constraint = city_pump.set_request_to_district(city_demand_constraint,search_type,contract_list,0.0,dowy,district_pump)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_city_demand_constraint); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_9, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_6, __pyx_v_district_pump}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_9, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_6, __pyx_v_district_pump}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_24 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_district_pump); __Pyx_GIVEREF(__pyx_v_district_pump); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_8, __pyx_v_district_pump); __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_24, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_city_delivery_constraint = __pyx_t_30;
+4781: delivery_to_private = min(city_demand_constraint, city_delivery_constraint,undelivered)
__pyx_t_30 = __pyx_v_city_delivery_constraint;
__pyx_t_16 = __pyx_v_undelivered;
__pyx_t_15 = __pyx_v_city_demand_constraint;
if (((__pyx_t_30 < __pyx_t_15) != 0)) {
__pyx_t_14 = __pyx_t_30;
} else {
__pyx_t_14 = __pyx_t_15;
}
__pyx_t_15 = __pyx_t_14;
if (((__pyx_t_16 < __pyx_t_15) != 0)) {
__pyx_t_14 = __pyx_t_16;
} else {
__pyx_t_14 = __pyx_t_15;
}
__pyx_v_delivery_to_private = __pyx_t_14;
4782:
+4783: undelivered -= delivery_to_private
__pyx_v_undelivered = (__pyx_v_undelivered - __pyx_v_delivery_to_private);
+4784: city_deliveries = city_pump.adjust_account_district(delivery_to_private,contract_list,search_type,wateryear, district_pump, x.key)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_adjust_account_district); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_delivery_to_private); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_24, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_6, __pyx_v_district_pump, __pyx_t_9}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[7] = {__pyx_t_18, __pyx_t_24, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_6, __pyx_v_district_pump, __pyx_t_9}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_22 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_8, __pyx_t_24); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_district_pump); __Pyx_GIVEREF(__pyx_v_district_pump); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_8, __pyx_v_district_pump); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_8, __pyx_t_9); __pyx_t_24 = 0; __pyx_t_6 = 0; __pyx_t_9 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_22, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_7))||((__pyx_t_7) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_7)->tp_name), 0))) __PYX_ERR(0, 4784, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_city_deliveries, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
4785:
+4786: for y in city_deliveries:
__pyx_t_27 = 0;
if (unlikely(__pyx_v_city_deliveries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 4786, __pyx_L1_error)
}
__pyx_t_23 = __Pyx_dict_iterator(__pyx_v_city_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_26), (&__pyx_t_8)); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_7);
__pyx_t_7 = __pyx_t_23;
__pyx_t_23 = 0;
while (1) {
__pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_7, __pyx_t_26, &__pyx_t_27, &__pyx_t_23, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_28 == 0)) break;
if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 4786, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_23);
__pyx_t_23 = 0;
+4787: self.contract_keys[y].adjust_accounts(city_deliveries[y], search_type, wateryear)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(__pyx_v_city_deliveries == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4787, __pyx_L1_error) } __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_city_deliveries, __pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_24 = NULL; __pyx_t_28 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_28 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_24, __pyx_t_9, __pyx_v_search_type, __pyx_t_6}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_24, __pyx_t_9, __pyx_v_search_type, __pyx_t_6}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_18 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_24); __pyx_t_24 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_28, __pyx_t_9); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_28, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_28, __pyx_t_6); __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_18, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+4788: location_delivery += city_deliveries[y]
__pyx_t_23 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (unlikely(__pyx_v_city_deliveries == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4788, __pyx_L1_error) } __pyx_t_22 = __Pyx_PyDict_GetItem(__pyx_v_city_deliveries, __pyx_v_y); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = PyNumber_InPlaceAdd(__pyx_t_23, __pyx_t_22); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_location_delivery = __pyx_t_14; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4789:
+4790: delivery_by_contract = x.adjust_accounts(direct_deliveries, recharge_deliveries,contract_list, search_type, wateryear, x.key)
__pyx_t_25 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_7 = PyFloat_FromDouble(__pyx_v_direct_deliveries); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_recharge_deliveries); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_25))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_25); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_25); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_25, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[7] = {__pyx_t_6, __pyx_t_7, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_22, __pyx_t_23}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_25)) { PyObject *__pyx_temp[7] = {__pyx_t_6, __pyx_t_7, __pyx_t_18, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_22, __pyx_t_23}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_25, __pyx_temp+1-__pyx_t_8, 6+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_9 = PyTuple_New(6+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_18); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_8, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_9, 5+__pyx_t_8, __pyx_t_23); __pyx_t_7 = 0; __pyx_t_18 = 0; __pyx_t_22 = 0; __pyx_t_23 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_25, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 4790, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_delivery_by_contract, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+4791: for y in delivery_by_contract:
__pyx_t_12 = 0;
if (unlikely(__pyx_v_delivery_by_contract == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 4791, __pyx_L1_error)
}
__pyx_t_25 = __Pyx_dict_iterator(__pyx_v_delivery_by_contract, 1, ((PyObject *)NULL), (&__pyx_t_20), (&__pyx_t_8)); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4791, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_XDECREF(__pyx_t_3);
__pyx_t_3 = __pyx_t_25;
__pyx_t_25 = 0;
while (1) {
__pyx_t_28 = __Pyx_dict_iter_next(__pyx_t_3, __pyx_t_20, &__pyx_t_12, &__pyx_t_25, NULL, NULL, __pyx_t_8);
if (unlikely(__pyx_t_28 == 0)) break;
if (unlikely(__pyx_t_28 == -1)) __PYX_ERR(0, 4791, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_25);
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_25);
__pyx_t_25 = 0;
+4792: self.contract_keys[y].adjust_accounts(delivery_by_contract[y], search_type, wateryear)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_y); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_23, __pyx_n_s_adjust_accounts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (unlikely(__pyx_v_delivery_by_contract == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4792, __pyx_L1_error) } __pyx_t_23 = __Pyx_PyDict_GetItem(__pyx_v_delivery_by_contract, __pyx_v_y); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = NULL; __pyx_t_28 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_28 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_t_23, __pyx_v_search_type, __pyx_t_22}; __pyx_t_25 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_18, __pyx_t_23, __pyx_v_search_type, __pyx_t_22}; __pyx_t_25 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_28, 3+__pyx_t_28); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_7 = PyTuple_New(3+__pyx_t_28); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_28, __pyx_t_23); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_28, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_28, __pyx_t_22); __pyx_t_23 = 0; __pyx_t_22 = 0; __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_7, NULL); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0;
+4793: location_delivery += delivery_by_contract[y]
__pyx_t_25 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (unlikely(__pyx_v_delivery_by_contract == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 4793, __pyx_L1_error) } __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_delivery_by_contract, __pyx_v_y); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = PyNumber_InPlaceAdd(__pyx_t_25, __pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4793, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_location_delivery = __pyx_t_14; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L45:;
4794: #recalfews_src flow and turnout on each canal, check for capacity turnback at the next node
4795: #find new district demand at the node
+4796: demand_constraint = x.find_node_demand(contract_list, search_type, toggle_partial_delivery, toggle_district_recharge)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_toggle_partial_delivery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_22 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_9, __pyx_t_25}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_9, __pyx_t_25}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } else #endif { __pyx_t_23 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_8, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_8, __pyx_t_25); __pyx_t_9 = 0; __pyx_t_25 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_23, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_demand_constraint = __pyx_t_14;
+4797: self.find_node_demand_district(x, canal, canal_loc, demand_constraint, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list, toggle_district_recharge)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_district); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_23 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4797, __pyx_L1_error) } __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[13] = {__pyx_t_18, __pyx_cur_scope->__pyx_v_x, __pyx_cur_scope->__pyx_v_canal, __pyx_v_canal_loc, __pyx_t_23, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_25, __pyx_t_9, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_22}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 12+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[13] = {__pyx_t_18, __pyx_cur_scope->__pyx_v_x, __pyx_cur_scope->__pyx_v_canal, __pyx_v_canal_loc, __pyx_t_23, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_25, __pyx_t_9, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_22}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 12+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_6 = PyTuple_New(12+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_cur_scope->__pyx_v_x); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_cur_scope->__pyx_v_x); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_canal); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_cur_scope->__pyx_v_canal); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_8, __pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_8, __pyx_t_23); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_6, 4+__pyx_t_8, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_6, 5+__pyx_t_8, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_6, 6+__pyx_t_8, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_6, 7+__pyx_t_8, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_6, 8+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_6, 9+__pyx_t_8, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_6, 10+__pyx_t_8, __pyx_v_type_list); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_6, 11+__pyx_t_8, __pyx_t_22); __pyx_t_23 = 0; __pyx_t_25 = 0; __pyx_t_9 = 0; __pyx_t_22 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4798: canal.find_turnout_adjustment(demand_constraint, flow_dir, canal_loc, type_list)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4798, __pyx_L1_error) } __pyx_t_22 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_t_6, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_t_6, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_9 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_8, __pyx_v_type_list); __pyx_t_6 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4799:
+4800: elif x.is_Canal == 1:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_is_Canal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_3, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ } __pyx_L35:;
4801: #if object is a canal, determine if water can flow from current canal into this canal (and orient the direction of flow)
+4802: new_flow_dir = canal.flow_directions[flow_type][x.name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_v_flow_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_new_flow_dir, __pyx_t_9); __pyx_t_9 = 0;
+4803: new_canal_size = self.canal_district_len[x.name]
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_x, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4803, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_new_canal_size = __pyx_t_8;
4804: #how much flow can go into this new canal
+4805: turnout_available = canal.turnout[flow_dir][canal_loc]*cfs_tafd - canal.turnout_use[canal_loc]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_v_flow_dir); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_loc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyNumber_Multiply(__pyx_t_3, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_canal_loc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Subtract(__pyx_t_9, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_7); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4805, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_turnout_available = __pyx_t_14;
4806: #initial demand for flow on the canal
4807: # location_delivery = 0.0
4808: # priorities = {}
4809: # priority_turnout_adjusted = {}
+4810: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4810, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0;
for (;;) {
if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_3); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4810, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4810, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4811: location_delivery += canal.demand[zz][canal_loc]*type_fractions[zz]
__pyx_t_3 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_canal_loc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_22 = PyNumber_Multiply(__pyx_t_9, __pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_InPlaceAdd(__pyx_t_3, __pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4811, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_location_delivery = __pyx_t_14;
4812: # priorities[zz] = 0.0
4813: # priority_turnout_adjusted[zz] = 0.0
4814:
4815: #if there is space & demand, 'jump' into new canal - outputs serve as turnouts from the current canal
+4816: location_delivery = min(location_delivery, turnout_available)
__pyx_t_14 = __pyx_v_turnout_available;
__pyx_t_30 = __pyx_v_location_delivery;
if (((__pyx_t_14 < __pyx_t_30) != 0)) {
__pyx_t_16 = __pyx_t_14;
} else {
__pyx_t_16 = __pyx_t_30;
}
__pyx_v_location_delivery = __pyx_t_16;
+4817: if turnout_available > 0.001 and location_delivery > 0.001:
__pyx_t_1 = ((__pyx_v_turnout_available > 0.001) != 0);
if (__pyx_t_1) {
} else {
__pyx_t_2 = __pyx_t_1;
goto __pyx_L84_bool_binop_done;
}
__pyx_t_1 = ((__pyx_v_location_delivery > 0.001) != 0);
__pyx_t_2 = __pyx_t_1;
__pyx_L84_bool_binop_done:;
if (__pyx_t_2) {
/* … */
goto __pyx_L83;
}
+4818: new_excess_flow, canal_demands = self.distribute_canal_deliveries(dowy, x, canal.key, contract_canal, location_delivery, new_canal_size, wateryear, new_flow_dir, flow_type, search_type)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_25 = __Pyx_PyInt_From_int(__pyx_v_new_canal_size); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_18 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[11] = {__pyx_t_18, __pyx_t_22, __pyx_cur_scope->__pyx_v_x, __pyx_t_3, __pyx_v_contract_canal, __pyx_t_9, __pyx_t_25, __pyx_t_23, __pyx_v_new_flow_dir, __pyx_v_flow_type, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[11] = {__pyx_t_18, __pyx_t_22, __pyx_cur_scope->__pyx_v_x, __pyx_t_3, __pyx_v_contract_canal, __pyx_t_9, __pyx_t_25, __pyx_t_23, __pyx_v_new_flow_dir, __pyx_v_flow_type, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else #endif { __pyx_t_24 = PyTuple_New(10+__pyx_t_8); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_8, __pyx_t_22); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_x); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_8, __pyx_cur_scope->__pyx_v_x); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_8, __pyx_t_3); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_8, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_8, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_8, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_8, __pyx_t_23); __Pyx_INCREF(__pyx_v_new_flow_dir); __Pyx_GIVEREF(__pyx_v_new_flow_dir); PyTuple_SET_ITEM(__pyx_t_24, 7+__pyx_t_8, __pyx_v_new_flow_dir); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_24, 8+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 9+__pyx_t_8, __pyx_v_search_type); __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_9 = 0; __pyx_t_25 = 0; __pyx_t_23 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_24, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4818, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_24 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_6 = PyList_GET_ITEM(sequence, 0); __pyx_t_24 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_24); #else __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_24 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_6 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_6)) goto __pyx_L86_unpacking_failed; __Pyx_GOTREF(__pyx_t_6); index = 1; __pyx_t_24 = __pyx_t_10(__pyx_t_23); if (unlikely(!__pyx_t_24)) goto __pyx_L86_unpacking_failed; __Pyx_GOTREF(__pyx_t_24); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_23), 2) < 0) __PYX_ERR(0, 4818, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L87_unpacking_done; __pyx_L86_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4818, __pyx_L1_error) __pyx_L87_unpacking_done:; } __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4818, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_24))||((__pyx_t_24) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_24)->tp_name), 0))) __PYX_ERR(0, 4818, __pyx_L1_error) __pyx_v_new_excess_flow = __pyx_t_16; __Pyx_XDECREF_SET(__pyx_v_canal_demands, ((PyObject*)__pyx_t_24)); __pyx_t_24 = 0;
4819: #update canal demands
+4820: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4820, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0;
for (;;) {
if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_24 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_24); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4820, __pyx_L1_error)
#else
__pyx_t_24 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4820, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_24);
__Pyx_GIVEREF(__pyx_t_24);
__pyx_t_24 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4821: canal.demand[zz][canal_loc] = canal_demands[zz]
if (unlikely(__pyx_v_canal_demands == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 4821, __pyx_L1_error)
}
__pyx_t_24 = __Pyx_PyDict_GetItem(__pyx_v_canal_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4821, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_v_canal_loc, __pyx_t_24) < 0)) __PYX_ERR(0, 4821, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+4822: if new_excess_flow > 0.0:
__pyx_t_2 = ((__pyx_v_new_excess_flow > 0.0) != 0);
if (__pyx_t_2) {
/* … */
}
+4823: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4823, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0;
for (;;) {
if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_24 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_24); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4823, __pyx_L1_error)
#else
__pyx_t_24 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4823, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_24);
__Pyx_GIVEREF(__pyx_t_24);
__pyx_t_24 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4824: canal.demand[zz][canal_loc] = 0.0
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_24, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (unlikely(PyObject_SetItem(__pyx_t_23, __pyx_v_canal_loc, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4824, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
4825: #recalfews_src deliveries
+4826: location_delivery -= new_excess_flow
__pyx_v_location_delivery = (__pyx_v_location_delivery - __pyx_v_new_excess_flow);
+4827: canal_fractions = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_canal_fractions, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
+4828: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4828, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0;
for (;;) {
if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_23 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_23); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4828, __pyx_L1_error)
#else
__pyx_t_23 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4828, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_23);
__Pyx_GIVEREF(__pyx_t_23);
__pyx_t_23 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4829: canal_fractions[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_canal_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4829, __pyx_L1_error)
4830: else:
4831: # new_excess_flow = 0.0
+4832: location_delivery = 0.0
/*else*/ {
__pyx_v_location_delivery = 0.0;
}
__pyx_L83:;
4833: # canal_fractions = {}
4834: # for zz in type_list:
4835: # canal_fractions[zz] = 0.0
4836:
+4837: canal.find_turnout_adjustment(turnout_available, flow_dir, canal_loc, type_list)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_turnout_available); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4837, __pyx_L1_error) } __pyx_t_6 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[5] = {__pyx_t_6, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_25 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_25, 0, __pyx_t_6); __pyx_t_6 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_25, 0+__pyx_t_8, __pyx_t_24); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_25, 1+__pyx_t_8, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_25, 2+__pyx_t_8, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_25, 3+__pyx_t_8, __pyx_v_type_list); __pyx_t_24 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_25, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4837, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4838: #recalfews_src flow and turnout on each canal, check for capacity turnback at the next node
+4839: available_flow, turnback_flow, turnback_end, remaining_excess_flow = canal.update_canal_use(available_flow, location_delivery, flow_dir, canal_loc, starting_point, canal_size, type_list)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_update_canal_use); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_25 = PyFloat_FromDouble(__pyx_v_available_flow); if (unlikely(!__pyx_t_25)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_25); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4839, __pyx_L1_error) } __pyx_t_3 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_t_25, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_t_6, __pyx_t_9, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[8] = {__pyx_t_3, __pyx_t_25, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_t_6, __pyx_t_9, __pyx_v_type_list}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_8, 7+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_22 = PyTuple_New(7+__pyx_t_8); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_8, __pyx_t_25); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_8, __pyx_t_24); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_22, 2+__pyx_t_8, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_22, 3+__pyx_t_8, __pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_22, 4+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_22, 5+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_22, 6+__pyx_t_8, __pyx_v_type_list); __pyx_t_25 = 0; __pyx_t_24 = 0; __pyx_t_6 = 0; __pyx_t_9 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_22, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 4)) { if (size > 4) __Pyx_RaiseTooManyValuesError(4); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4839, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_23 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_22 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 3); } else { __pyx_t_23 = PyList_GET_ITEM(sequence, 0); __pyx_t_22 = PyList_GET_ITEM(sequence, 1); __pyx_t_9 = PyList_GET_ITEM(sequence, 2); __pyx_t_6 = PyList_GET_ITEM(sequence, 3); } __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_6); #else { Py_ssize_t i; PyObject** temps[4] = {&__pyx_t_23,&__pyx_t_22,&__pyx_t_9,&__pyx_t_6}; for (i=0; i < 4; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; PyObject** temps[4] = {&__pyx_t_23,&__pyx_t_22,&__pyx_t_9,&__pyx_t_6}; __pyx_t_24 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_24)->tp_iternext; for (index=0; index < 4; index++) { PyObject* item = __pyx_t_10(__pyx_t_24); if (unlikely(!item)) goto __pyx_L95_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_24), 4) < 0) __PYX_ERR(0, 4839, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; goto __pyx_L96_unpacking_done; __pyx_L95_unpacking_failed:; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4839, __pyx_L1_error) __pyx_L96_unpacking_done:; } __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_23); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_14 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_14 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_8 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_6); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4839, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_available_flow = __pyx_t_16; __pyx_v_turnback_flow = __pyx_t_14; __pyx_v_turnback_end = __pyx_t_8; __pyx_v_remaining_excess_flow = __pyx_t_30;
+4840: excess_flow += remaining_excess_flow
__pyx_v_excess_flow = (__pyx_v_excess_flow + __pyx_v_remaining_excess_flow);
4841: #if there is more demand/available water than canal capacity at the next canal node, the 'extra' water (that was expected to be delivered down-canal in earlier calculations) can be distributed among upstream nodes if there is remaining demand
+4842: type_demands[zz] -= canal.demand[zz][canal_loc] ### NOTE: this seems weird, zz out of scope - ALH
if (unlikely(!__pyx_cur_scope->__pyx_v_zz)) { __Pyx_RaiseUnboundLocalError("zz"); __PYX_ERR(0, 4842, __pyx_L1_error) }
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_zz);
__pyx_t_7 = __pyx_cur_scope->__pyx_v_zz;
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (unlikely(!__pyx_cur_scope->__pyx_v_zz)) { __Pyx_RaiseUnboundLocalError("zz"); __PYX_ERR(0, 4842, __pyx_L1_error) }
__pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_22, __pyx_v_canal_loc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_22 = PyNumber_InPlaceSubtract(__pyx_t_6, __pyx_t_9); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_type_demands, __pyx_t_7, __pyx_t_22) < 0)) __PYX_ERR(0, 4842, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
4843:
+4844: if turnback_flow > 0.001:
__pyx_t_2 = ((__pyx_v_turnback_flow > 0.001) != 0);
if (__pyx_t_2) {
/* … */
}
+4845: remaining_excess_flow, unmet_canal_demands = self.distribute_canal_deliveries(dowy, canal, prev_canal, contract_canal, turnback_flow, turnback_end, wateryear, flow_dir, flow_type, search_type)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_distribute_canal_deliveries); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_6 = PyFloat_FromDouble(__pyx_v_turnback_flow); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_23 = __Pyx_PyInt_From_int(__pyx_v_turnback_end); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_25 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_25 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_25)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_25); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[11] = {__pyx_t_25, __pyx_t_9, __pyx_cur_scope->__pyx_v_canal, __pyx_v_prev_canal, __pyx_v_contract_canal, __pyx_t_6, __pyx_t_23, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[11] = {__pyx_t_25, __pyx_t_9, __pyx_cur_scope->__pyx_v_canal, __pyx_v_prev_canal, __pyx_v_contract_canal, __pyx_t_6, __pyx_t_23, __pyx_t_24, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_8, 10+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_3 = PyTuple_New(10+__pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_25) { __Pyx_GIVEREF(__pyx_t_25); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_25); __pyx_t_25 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_8, __pyx_t_9); __Pyx_INCREF(__pyx_cur_scope->__pyx_v_canal); __Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_8, __pyx_cur_scope->__pyx_v_canal); __Pyx_INCREF(__pyx_v_prev_canal); __Pyx_GIVEREF(__pyx_v_prev_canal); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_8, __pyx_v_prev_canal); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_8, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_8, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_3, 5+__pyx_t_8, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_3, 6+__pyx_t_8, __pyx_t_24); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_3, 7+__pyx_t_8, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_3, 8+__pyx_t_8, __pyx_v_flow_type); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_3, 9+__pyx_t_8, __pyx_v_search_type); __pyx_t_9 = 0; __pyx_t_6 = 0; __pyx_t_23 = 0; __pyx_t_24 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_3, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { PyObject* sequence = __pyx_t_7; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 4845, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_22 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_22 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_3); #else __pyx_t_22 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_24)->tp_iternext; index = 0; __pyx_t_22 = __pyx_t_10(__pyx_t_24); if (unlikely(!__pyx_t_22)) goto __pyx_L98_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); index = 1; __pyx_t_3 = __pyx_t_10(__pyx_t_24); if (unlikely(!__pyx_t_3)) goto __pyx_L98_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_24), 2) < 0) __PYX_ERR(0, 4845, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; goto __pyx_L99_unpacking_done; __pyx_L98_unpacking_failed:; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 4845, __pyx_L1_error) __pyx_L99_unpacking_done:; } __pyx_t_30 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_30 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4845, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 4845, __pyx_L1_error) __pyx_v_remaining_excess_flow = __pyx_t_30; __Pyx_XDECREF_SET(__pyx_v_unmet_canal_demands, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+4846: excess_flow += remaining_excess_flow
__pyx_v_excess_flow = (__pyx_v_excess_flow + __pyx_v_remaining_excess_flow);
+4847: available_capacity_int = max(available_flow, 0.0)
__pyx_t_30 = 0.0;
__pyx_t_14 = __pyx_v_available_flow;
if (((__pyx_t_30 > __pyx_t_14) != 0)) {
__pyx_t_16 = __pyx_t_30;
} else {
__pyx_t_16 = __pyx_t_14;
}
__pyx_v_available_capacity_int = __pyx_t_16;
+4848: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4848, __pyx_L1_error) }
__pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0;
for (;;) {
if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_3); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 4848, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_3);
__Pyx_GIVEREF(__pyx_t_3);
__pyx_t_3 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+4849: if type_demands[zz] > 0.0:
__pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = PyObject_RichCompare(__pyx_t_3, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4849, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L102; }
+4850: type_fractions[zz] = max(min(available_capacity_int/type_demands[zz], 1.0), 0.0)
__pyx_t_16 = 0.0;
__pyx_t_30 = 1.0;
__pyx_t_22 = PyFloat_FromDouble(__pyx_v_available_capacity_int); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_24 = __Pyx_PyNumber_Divide(__pyx_t_22, __pyx_t_3); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_22 = PyFloat_FromDouble(__pyx_t_30); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_23 = PyObject_RichCompare(__pyx_t_22, __pyx_t_24, Py_LT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (__pyx_t_2) {
__pyx_t_23 = PyFloat_FromDouble(__pyx_t_30); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_3 = __pyx_t_23;
__pyx_t_23 = 0;
} else {
__Pyx_INCREF(__pyx_t_24);
__pyx_t_3 = __pyx_t_24;
}
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__Pyx_INCREF(__pyx_t_3);
__pyx_t_24 = __pyx_t_3;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_23 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_22 = PyObject_RichCompare(__pyx_t_23, __pyx_t_24, Py_GT); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
if (__pyx_t_2) {
__pyx_t_22 = PyFloat_FromDouble(__pyx_t_16); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_3 = __pyx_t_22;
__pyx_t_22 = 0;
} else {
__Pyx_INCREF(__pyx_t_24);
__pyx_t_3 = __pyx_t_24;
}
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
__pyx_t_24 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_24);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_t_24) < 0)) __PYX_ERR(0, 4850, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
4851: else:
+4852: type_fractions[zz] = 0.0
/*else*/ {
if (unlikely(PyDict_SetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4852, __pyx_L1_error)
}
__pyx_L102:;
+4853: available_capacity_int -= type_demands[zz]*type_fractions[zz]
__pyx_t_24 = PyFloat_FromDouble(__pyx_v_available_capacity_int); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_type_demands, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = __Pyx_PyDict_GetItem(__pyx_v_type_fractions, __pyx_cur_scope->__pyx_v_zz); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = PyNumber_Multiply(__pyx_t_3, __pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_InPlaceSubtract(__pyx_t_24, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_16 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_16 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4853, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_available_capacity_int = __pyx_t_16;
4854:
4855: #sum remaining demand after all deliveries have been madw
+4856: unmet_demands = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_unmet_demands = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4857: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4857, __pyx_L1_error) }
__pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0;
for (;;) {
if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 4857, __pyx_L1_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4857, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v_zz);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v_zz, __pyx_t_7);
__Pyx_GIVEREF(__pyx_t_7);
__pyx_t_7 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4858: unmet_demands[zz] = sum((canal.demand[zz][_] for _ in canal_range))
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_6genexpr(PyObject *__pyx_self) {
struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_3_genexpr *__pyx_cur_scope;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__pyx_cur_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_3_genexpr *)__pyx_tp_new_14calfews_src_cy_8model_cy___pyx_scope_struct_3_genexpr(__pyx_ptype_14calfews_src_cy_8model_cy___pyx_scope_struct_3_genexpr, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct_3_genexpr *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 4858, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_outer_scope = (struct __pyx_obj_14calfews_src_cy_8model_cy___pyx_scope_struct__distribute_canal_deliveries *) __pyx_self;
__Pyx_INCREF(((PyObject *)__pyx_cur_scope->__pyx_outer_scope));
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_outer_scope);
{
__pyx_CoroutineObject *gen = __Pyx_Generator_New((__pyx_coroutine_body_t) __pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_8generator2, NULL, (PyObject *) __pyx_cur_scope, __pyx_n_s_genexpr, __pyx_n_s_Model_distribute_canal_deliverie, __pyx_n_s_calfews_src_cy_model_cy); if (unlikely(!gen)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_DECREF(__pyx_cur_scope);
__Pyx_RefNannyFinishContext();
return (PyObject *) gen;
}
/* function exit code */
__pyx_L1_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.distribute_canal_deliveries.genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_gb_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_8generator2(__pyx_CoroutineObject *__pyx_generator, CYTHON_UNUSED PyThreadState *__pyx_tstate, PyObject *__pyx_sent_value) /* generator body */
{
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("genexpr", 0);
__Pyx_TraceDeclarations
__pyx_L3_first_run:;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4858, __pyx_L1_error)
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal_range)) { __Pyx_RaiseClosureNameError("canal_range"); __PYX_ERR(0, 4858, __pyx_L1_error) }
if (likely(PyList_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal_range)) || PyTuple_CheckExact(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal_range)) {
__pyx_t_1 = __pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal_range; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
__pyx_t_3 = NULL;
} else {
__pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal_range); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4858, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_3)) {
if (likely(PyList_CheckExact(__pyx_t_1))) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4858, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 4858, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
} else {
__pyx_t_4 = __pyx_t_3(__pyx_t_1);
if (unlikely(!__pyx_t_4)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 4858, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_4);
}
__Pyx_XGOTREF(__pyx_cur_scope->__pyx_v__);
__Pyx_XDECREF_SET(__pyx_cur_scope->__pyx_v__, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
__pyx_t_4 = 0;
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal)) { __Pyx_RaiseClosureNameError("canal"); __PYX_ERR(0, 4858, __pyx_L1_error) }
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_outer_scope->__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (unlikely(!__pyx_cur_scope->__pyx_outer_scope->__pyx_v_zz)) { __Pyx_RaiseClosureNameError("zz"); __PYX_ERR(0, 4858, __pyx_L1_error) }
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_cur_scope->__pyx_outer_scope->__pyx_v_zz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_cur_scope->__pyx_v__); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
__Pyx_XGIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_t_0 = __pyx_t_1;
__pyx_cur_scope->__pyx_t_1 = __pyx_t_2;
__pyx_cur_scope->__pyx_t_2 = __pyx_t_3;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
/* return from generator, yielding value */
__pyx_generator->resume_label = 1;
return __pyx_r;
__pyx_L6_resume_from_yield:;
__pyx_t_1 = __pyx_cur_scope->__pyx_t_0;
__pyx_cur_scope->__pyx_t_0 = 0;
__Pyx_XGOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_cur_scope->__pyx_t_1;
__pyx_t_3 = __pyx_cur_scope->__pyx_t_2;
if (unlikely(!__pyx_sent_value)) __PYX_ERR(0, 4858, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
CYTHON_MAYBE_UNUSED_VAR(__pyx_cur_scope);
/* function exit code */
PyErr_SetNone(PyExc_StopIteration);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("genexpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_L0:;
__Pyx_XDECREF(__pyx_r); __pyx_r = 0;
#if !CYTHON_USE_EXC_INFO_STACK
__Pyx_Coroutine_ResetAndClearException(__pyx_generator);
#endif
__pyx_generator->resume_label = -1;
__Pyx_Coroutine_clear((PyObject*)__pyx_generator);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_t_7 = __pyx_pf_14calfews_src_cy_8model_cy_5Model_27distribute_canal_deliveries_6genexpr(((PyObject*)__pyx_cur_scope)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_22 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_7); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_unmet_demands, __pyx_cur_scope->__pyx_v_zz, __pyx_t_22) < 0)) __PYX_ERR(0, 4858, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
4859: # unmet_demands = {}
4860: # for zz in type_list:
4861: # unmet_demands[zz] = 0.0
4862: # for canal_loc in canal_range:
4863: # for zz in type_list:
4864: # unmet_demands[zz] += canal.demand[zz][canal_loc]
4865:
4866: # for zz in type_list:
4867: # unmet_demands[zz] = 0.0
4868: # for canal_loc in canal_range:
4869: # for zz in type_list:
4870: # unmet_demands[zz] += canal.demand[zz][canal_loc]
4871:
+4872: return excess_flow, unmet_demands
__Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyFloat_FromDouble(__pyx_v_excess_flow); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 4872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_5); __Pyx_INCREF(__pyx_v_unmet_demands); __Pyx_GIVEREF(__pyx_v_unmet_demands); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_v_unmet_demands); __pyx_t_5 = 0; __pyx_r = __pyx_t_22; __pyx_t_22 = 0; goto __pyx_L0;
4873:
4874:
4875:
+4876: def search_canal_demand(self, int dowy, canal, prev_canal, contract_canal, str flow_dir, str flow_type, int wateryear, str search_type, dict existing_deliveries):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_87search_canal_demand(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_87search_canal_demand = {"search_canal_demand", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_87search_canal_demand, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_87search_canal_demand(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
int __pyx_v_dowy;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_prev_canal = 0;
PyObject *__pyx_v_contract_canal = 0;
PyObject *__pyx_v_flow_dir = 0;
PyObject *__pyx_v_flow_type = 0;
int __pyx_v_wateryear;
PyObject *__pyx_v_search_type = 0;
PyObject *__pyx_v_existing_deliveries = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("search_canal_demand (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_dowy,&__pyx_n_s_canal,&__pyx_n_s_prev_canal,&__pyx_n_s_contract_canal,&__pyx_n_s_flow_dir,&__pyx_n_s_flow_type,&__pyx_n_s_wateryear,&__pyx_n_s_search_type,&__pyx_n_s_existing_deliveries,0};
PyObject* values[10] = {0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 1); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 2); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_prev_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 3); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 4); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_dir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 5); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 6); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 7); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_search_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 8); __PYX_ERR(0, 4876, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_existing_deliveries)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, 9); __PYX_ERR(0, 4876, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "search_canal_demand") < 0)) __PYX_ERR(0, 4876, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 10) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
}
__pyx_v_self = values[0];
__pyx_v_dowy = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_dowy == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4876, __pyx_L3_error)
__pyx_v_canal = values[2];
__pyx_v_prev_canal = values[3];
__pyx_v_contract_canal = values[4];
__pyx_v_flow_dir = ((PyObject*)values[5]);
__pyx_v_flow_type = ((PyObject*)values[6]);
__pyx_v_wateryear = __Pyx_PyInt_As_int(values[7]); if (unlikely((__pyx_v_wateryear == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4876, __pyx_L3_error)
__pyx_v_search_type = ((PyObject*)values[8]);
__pyx_v_existing_deliveries = ((PyObject*)values[9]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("search_canal_demand", 1, 10, 10, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 4876, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.search_canal_demand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flow_dir), (&PyUnicode_Type), 1, "flow_dir", 1))) __PYX_ERR(0, 4876, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_flow_type), (&PyUnicode_Type), 1, "flow_type", 1))) __PYX_ERR(0, 4876, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_search_type), (&PyUnicode_Type), 1, "search_type", 1))) __PYX_ERR(0, 4876, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_existing_deliveries), (&PyDict_Type), 1, "existing_deliveries", 1))) __PYX_ERR(0, 4876, __pyx_L1_error)
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_86search_canal_demand(__pyx_self, __pyx_v_self, __pyx_v_dowy, __pyx_v_canal, __pyx_v_prev_canal, __pyx_v_contract_canal, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_existing_deliveries);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_86search_canal_demand(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, int __pyx_v_dowy, PyObject *__pyx_v_canal, PyObject *__pyx_v_prev_canal, PyObject *__pyx_v_contract_canal, PyObject *__pyx_v_flow_dir, PyObject *__pyx_v_flow_type, int __pyx_v_wateryear, PyObject *__pyx_v_search_type, PyObject *__pyx_v_existing_deliveries) {
PyObject *__pyx_v_type_list = 0;
PyObject *__pyx_v_priority_list = 0;
PyObject *__pyx_v_contract_list = 0;
PyObject *__pyx_v_empty_demands = 0;
PyObject *__pyx_v_type_deliveries = 0;
PyObject *__pyx_v_available_to_canal = 0;
PyObject *__pyx_v_canal_demands = 0;
PyObject *__pyx_v_priorities = 0;
PyObject *__pyx_v_paper_fractions = 0;
int __pyx_v_toggle_partial_delivery;
int __pyx_v_toggle_district_recharge;
int __pyx_v_canal_size;
int __pyx_v_starting_point;
int __pyx_v_num_members;
double __pyx_v_private_demand_constraint;
double __pyx_v_demand_constraint;
double __pyx_v_current_recovery;
double __pyx_v_current_storage;
double __pyx_v_total_demand;
double __pyx_v_priority_bank_space;
double __pyx_v_paper_amount;
CYTHON_UNUSED double __pyx_v_direct_amount;
double __pyx_v_total_district_demand;
double __pyx_v_total_available;
CYTHON_UNUSED double __pyx_v_existing_canal_space;
double __pyx_v_total_exchange;
double __pyx_v_paper_recovery;
double __pyx_v_private_deliveries;
double __pyx_v_direct_recovery;
double __pyx_v_max_flow;
double __pyx_v_committed;
double __pyx_v_location_delivery;
double __pyx_v_total_paper;
PyObject *__pyx_v_new_flow_dir = 0;
PyObject *__pyx_v_list_member = NULL;
PyObject *__pyx_v_canal_range = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_canal_loc = NULL;
PyObject *__pyx_v_zz = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_demand_constraint_by_contracts = NULL;
PyObject *__pyx_v_deliveries = NULL;
CYTHON_UNUSED PyObject *__pyx_v_contract_frac_list = NULL;
PyObject *__pyx_v_delivery_type = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_city_pump = NULL;
PyObject *__pyx_v_lookback_range = NULL;
PyObject *__pyx_v_lookback_loc = NULL;
PyObject *__pyx_v_paper_delivery = NULL;
PyObject *__pyx_v_yy = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__70)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("search_canal_demand", 0);
__Pyx_TraceCall("search_canal_demand", __pyx_f[0], 4876, 0, __PYX_ERR(0, 4876, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_18);
__Pyx_XDECREF(__pyx_t_22);
__Pyx_XDECREF(__pyx_t_23);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.search_canal_demand", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_type_list);
__Pyx_XDECREF(__pyx_v_priority_list);
__Pyx_XDECREF(__pyx_v_contract_list);
__Pyx_XDECREF(__pyx_v_empty_demands);
__Pyx_XDECREF(__pyx_v_type_deliveries);
__Pyx_XDECREF(__pyx_v_available_to_canal);
__Pyx_XDECREF(__pyx_v_canal_demands);
__Pyx_XDECREF(__pyx_v_priorities);
__Pyx_XDECREF(__pyx_v_paper_fractions);
__Pyx_XDECREF(__pyx_v_new_flow_dir);
__Pyx_XDECREF(__pyx_v_list_member);
__Pyx_XDECREF(__pyx_v_canal_range);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_canal_loc);
__Pyx_XDECREF(__pyx_v_zz);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_demand_constraint_by_contracts);
__Pyx_XDECREF(__pyx_v_deliveries);
__Pyx_XDECREF(__pyx_v_contract_frac_list);
__Pyx_XDECREF(__pyx_v_delivery_type);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_city_pump);
__Pyx_XDECREF(__pyx_v_lookback_range);
__Pyx_XDECREF(__pyx_v_lookback_loc);
__Pyx_XDECREF(__pyx_v_paper_delivery);
__Pyx_XDECREF(__pyx_v_yy);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__132 = PyTuple_Pack(61, __pyx_n_s_self, __pyx_n_s_dowy, __pyx_n_s_canal, __pyx_n_s_prev_canal, __pyx_n_s_contract_canal, __pyx_n_s_flow_dir, __pyx_n_s_flow_type, __pyx_n_s_wateryear, __pyx_n_s_search_type, __pyx_n_s_existing_deliveries, __pyx_n_s_type_list, __pyx_n_s_priority_list, __pyx_n_s_contract_list, __pyx_n_s_empty_demands, __pyx_n_s_type_deliveries, __pyx_n_s_available_to_canal, __pyx_n_s_canal_demands, __pyx_n_s_priorities, __pyx_n_s_paper_fractions, __pyx_n_s_toggle_partial_delivery, __pyx_n_s_toggle_district_recharge, __pyx_n_s_canal_size, __pyx_n_s_starting_point, __pyx_n_s_num_members, __pyx_n_s_private_demand_constraint, __pyx_n_s_demand_constraint, __pyx_n_s_current_recovery, __pyx_n_s_current_storage, __pyx_n_s_total_demand, __pyx_n_s_priority_bank_space, __pyx_n_s_paper_amount, __pyx_n_s_direct_amount, __pyx_n_s_total_district_demand, __pyx_n_s_total_available, __pyx_n_s_existing_canal_space, __pyx_n_s_total_exchange, __pyx_n_s_paper_recovery, __pyx_n_s_private_deliveries, __pyx_n_s_direct_recovery, __pyx_n_s_max_flow, __pyx_n_s_committed, __pyx_n_s_location_delivery, __pyx_n_s_total_paper, __pyx_n_s_new_flow_dir, __pyx_n_s_list_member, __pyx_n_s_canal_range, __pyx_n_s_x, __pyx_n_s_xx, __pyx_n_s_canal_loc, __pyx_n_s_zz, __pyx_n_s_wb_member, __pyx_n_s_demand_constraint_by_contracts, __pyx_n_s_deliveries, __pyx_n_s_contract_frac_list, __pyx_n_s_delivery_type, __pyx_n_s_y, __pyx_n_s_city_pump, __pyx_n_s_lookback_range, __pyx_n_s_lookback_loc, __pyx_n_s_paper_delivery, __pyx_n_s_yy); if (unlikely(!__pyx_tuple__132)) __PYX_ERR(0, 4876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__132);
__Pyx_GIVEREF(__pyx_tuple__132);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_87search_canal_demand, 0, __pyx_n_s_Model_search_canal_demand, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4876, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_search_canal_demand, __pyx_t_2) < 0) __PYX_ERR(0, 4876, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(10, 0, 61, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__132, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_search_canal_demand, 4876, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 4876, __pyx_L1_error)
4877: ## Cython type declarations for whole function
4878: cdef list type_list, priority_list, contract_list
4879: cdef dict empty_demands, type_deliveries, available_to_canal, canal_demands, priorities, paper_fractions
4880: cdef int toggle_partial_delivery, toggle_district_recharge, canal_size, starting_point, num_members
4881: cdef double private_demand_constraint, demand_constraint, current_recovery, current_storage, total_demand, priority_bank_space, paper_amount, direct_amount, \
4882: total_district_demand, total_available, existing_canal_space, total_exchange, paper_recovery, private_deliveries, direct_recovery, max_flow, \
4883: committed, location_delivery, total_paper
4884: cdef str new_flow_dir
4885:
+4886: if search_type == 'flood':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_flood_2, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4886, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
4887: #for flood flows, need to distinguish between districts with a contract
4888: #to the water being spilled (1st priority), districts with a turnout on
4889: #a 'favored' canal (i.e, one that won't disrupt flows from other sources,
4890: #2nd priority), and districts with turnouts on other canals that can still
4891: #be technically reached from this source (3rd priority)
+4892: type_list = ['contractor', 'alternate', 'turnout', 'excess']
__pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_u_contractor); __Pyx_GIVEREF(__pyx_n_u_contractor); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_contractor); __Pyx_INCREF(__pyx_n_u_alternate); __Pyx_GIVEREF(__pyx_n_u_alternate); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_alternate); __Pyx_INCREF(__pyx_n_u_turnout); __Pyx_GIVEREF(__pyx_n_u_turnout); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_u_turnout); __Pyx_INCREF(__pyx_n_u_excess); __Pyx_GIVEREF(__pyx_n_u_excess); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_u_excess); __pyx_v_type_list = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
+4893: toggle_partial_delivery = 0
__pyx_v_toggle_partial_delivery = 0;
+4894: toggle_district_recharge = 1
__pyx_v_toggle_district_recharge = 1;
+4895: if search_type == 'delivery':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_delivery, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4895, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ }
+4896: type_list = [contract_canal]
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4896, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_v_contract_canal); __Pyx_XDECREF_SET(__pyx_v_type_list, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+4897: toggle_partial_delivery = 1
__pyx_v_toggle_partial_delivery = 1;
+4898: toggle_district_recharge = 0
__pyx_v_toggle_district_recharge = 0;
+4899: if search_type == 'banking':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_banking, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4899, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+4900: type_list = ['priority', 'secondary']
__pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_u_priority); __Pyx_GIVEREF(__pyx_n_u_priority); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_priority); __Pyx_INCREF(__pyx_n_u_secondary); __Pyx_GIVEREF(__pyx_n_u_secondary); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_secondary); __Pyx_XDECREF_SET(__pyx_v_type_list, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+4901: toggle_partial_delivery = 0
__pyx_v_toggle_partial_delivery = 0;
+4902: toggle_district_recharge = 1
__pyx_v_toggle_district_recharge = 1;
+4903: if search_type == 'recovery':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4903, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ }
4904: #if we are trying to distribute recovery water, we need to know how much 'initial' space is owned by each district in the recovery capacity at a waterbank/leiubank and then how much supplemental space, which can be used by individual districts if the capacity is not being used (same as for banking above, just w/ different names)
+4905: type_list = ['initial', 'supplemental']
__pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4905, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_n_u_initial); __Pyx_GIVEREF(__pyx_n_u_initial); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_initial); __Pyx_INCREF(__pyx_n_u_supplemental); __Pyx_GIVEREF(__pyx_n_u_supplemental); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_supplemental); __Pyx_XDECREF_SET(__pyx_v_type_list, ((PyObject*)__pyx_t_3)); __pyx_t_3 = 0;
+4906: toggle_partial_delivery = 1
__pyx_v_toggle_partial_delivery = 1;
+4907: toggle_district_recharge = 0
__pyx_v_toggle_district_recharge = 0;
4908:
4909: #find the range of nodes to 'search' on this canal
+4910: canal_size = self.canal_district_len[canal.name]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_canal_size = __pyx_t_6;
+4911: if flow_dir == "closed":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_closed, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4911, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+4912: empty_demands = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_empty_demands = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4913: for list_member in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4913, __pyx_L1_error) }
__pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
for (;;) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4913, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4913, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_XDECREF_SET(__pyx_v_list_member, __pyx_t_4);
__pyx_t_4 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4914: empty_demands[list_member] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_empty_demands, __pyx_v_list_member, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4914, __pyx_L1_error)
+4915: return empty_demands
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_empty_demands); __pyx_r = __pyx_v_empty_demands; goto __pyx_L0;
4916: else:
+4917: canal_range, starting_point = self.set_canal_range(flow_dir, flow_type, canal, prev_canal, canal_size)
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_range); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[6] = {__pyx_t_8, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_canal, __pyx_v_prev_canal, __pyx_t_3};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[6] = {__pyx_t_8, __pyx_v_flow_dir, __pyx_v_flow_type, __pyx_v_canal, __pyx_v_prev_canal, __pyx_t_3};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_flow_dir);
__Pyx_GIVEREF(__pyx_v_flow_dir);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_6, __pyx_v_flow_dir);
__Pyx_INCREF(__pyx_v_flow_type);
__Pyx_GIVEREF(__pyx_v_flow_type);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_6, __pyx_v_flow_type);
__Pyx_INCREF(__pyx_v_canal);
__Pyx_GIVEREF(__pyx_v_canal);
PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_6, __pyx_v_canal);
__Pyx_INCREF(__pyx_v_prev_canal);
__Pyx_GIVEREF(__pyx_v_prev_canal);
PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_6, __pyx_v_prev_canal);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_9, 4+__pyx_t_6, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
PyObject* sequence = __pyx_t_5;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 4917, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_4 = PyList_GET_ITEM(sequence, 0);
__pyx_t_9 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_9);
#else
__pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_10 = Py_TYPE(__pyx_t_3)->tp_iternext;
index = 0; __pyx_t_4 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L10_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
index = 1; __pyx_t_9 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_9)) goto __pyx_L10_unpacking_failed;
__Pyx_GOTREF(__pyx_t_9);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_3), 2) < 0) __PYX_ERR(0, 4917, __pyx_L1_error)
__pyx_t_10 = NULL;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L11_unpacking_done;
__pyx_L10_unpacking_failed:;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_10 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 4917, __pyx_L1_error)
__pyx_L11_unpacking_done:;
}
__pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 4917, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_canal_range = __pyx_t_4;
__pyx_t_4 = 0;
__pyx_v_starting_point = __pyx_t_6;
}
4918:
4919: #initialize/clear dictionaries to store different types of demand on the canal
4920: #different flow 'modes' require different types of demand to be distinguished
4921:
+4922: type_deliveries = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4922, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_v_type_deliveries = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0;
+4923: for list_member in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4923, __pyx_L1_error) }
__pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0;
for (;;) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_9); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4923, __pyx_L1_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4923, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_XDECREF_SET(__pyx_v_list_member, __pyx_t_9);
__pyx_t_9 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4924: canal.demand[list_member] = np.zeros(canal_size)
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_9 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_list_member, __pyx_t_9) < 0)) __PYX_ERR(0, 4924, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4925: canal.turnout_frac[list_member] = np.zeros(canal_size)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_9 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_v_list_member, __pyx_t_9) < 0)) __PYX_ERR(0, 4925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+4926: if existing_deliveries == {}:
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_4 = PyObject_RichCompare(__pyx_v_existing_deliveries, __pyx_t_9, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4926, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4926, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L14; }
+4927: type_deliveries[list_member] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_type_deliveries, __pyx_v_list_member, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4927, __pyx_L1_error)
4928: else:
+4929: type_deliveries[list_member] = existing_deliveries[list_member]
/*else*/ {
if (unlikely(__pyx_v_existing_deliveries == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 4929, __pyx_L1_error)
}
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_existing_deliveries, __pyx_v_list_member); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4929, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (unlikely(PyDict_SetItem(__pyx_v_type_deliveries, __pyx_v_list_member, __pyx_t_4) < 0)) __PYX_ERR(0, 4929, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__pyx_L14:;
+4930: canal.recovery_flow_frac[list_member] = np.ones(canal_size)
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_ones); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_canal_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_9); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_list_member, __pyx_t_4) < 0)) __PYX_ERR(0, 4930, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4931:
4932: #canal priority
+4933: priority_list = self.canal_priority[canal.name]
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_priority); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4933, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(0, 4933, __pyx_L1_error) __pyx_v_priority_list = ((PyObject*)__pyx_t_3); __pyx_t_3 = 0;
4934: #contracts on this canal
+4935: contract_list = self.canal_contract[contract_canal]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_contract_canal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!(likely(PyList_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 4935, __pyx_L1_error) __pyx_v_contract_list = ((PyObject*)__pyx_t_4); __pyx_t_4 = 0;
4936:
4937: #MAIN SEARCH LOOP - within the canal range identified above, search through
4938: #the objects in self.canal_district to determine the total demand on the canal
4939: #(divided by demand 'type')
4940:
+4941: for x in self.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __pyx_t_11 = NULL; } else { __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4941, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4941, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4941, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_11(__pyx_t_3); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4941, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4942: x.private_demand = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_demand, __pyx_t_4) < 0) __PYX_ERR(0, 4942, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4943: x.private_delivery = {}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_private_delivery, __pyx_t_4) < 0) __PYX_ERR(0, 4943, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4944: for x in self.private_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_7 = 0; __pyx_t_11 = NULL; } else { __pyx_t_7 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4944, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4944, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4944, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_11(__pyx_t_4); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4944, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4945: for xx in x.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4945, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_3); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4945, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_12); __Pyx_INCREF(__pyx_t_3); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4945, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_13(__pyx_t_5); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4945, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
4946: # district_object = self.district_keys[xx]
+4947: private_demand_constraint = x.find_node_demand(contract_list,search_type, xx)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { __pyx_t_14 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_6, __pyx_v_xx); __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_3); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4947, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_private_demand_constraint = __pyx_t_15;
+4948: self.district_keys[xx].private_demand[x.key] = private_demand_constraint
__pyx_t_3 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(PyObject_SetItem(__pyx_t_9, __pyx_t_14, __pyx_t_3) < 0)) __PYX_ERR(0, 4948, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4949: self.district_keys[xx].private_delivery[x.key] = x.set_request_to_district(private_demand_constraint,search_type,contract_list,0.0,dowy,xx)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_9, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_8, __pyx_v_xx}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[7] = {__pyx_t_16, __pyx_t_9, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_8, __pyx_v_xx}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } else #endif { __pyx_t_17 = PyTuple_New(6+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_6, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_6, __pyx_v_xx); __pyx_t_9 = 0; __pyx_t_8 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_17, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_private_delivery); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_t_17, __pyx_t_3) < 0)) __PYX_ERR(0, 4949, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+4950: for x in self.city_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_11 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4950, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4950, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_4); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4950, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4950, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4951: for xx in x.district_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_13 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4951, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4951, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4951, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_13(__pyx_t_3); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4951, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
4952: # district_object = self.district_keys[xx]
+4953: private_demand_constraint = x.find_node_demand(contract_list,search_type, xx)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_14 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_v_contract_list, __pyx_v_search_type, __pyx_v_xx}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_v_xx); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_private_demand_constraint = __pyx_t_15;
+4954: self.district_keys[xx].private_demand[x.key] = private_demand_constraint
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (unlikely(PyObject_SetItem(__pyx_t_17, __pyx_t_8, __pyx_t_4) < 0)) __PYX_ERR(0, 4954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4955: self.district_keys[xx].private_delivery[x.key] = x.set_request_to_district(private_demand_constraint,search_type,contract_list,0.0,dowy,xx)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_request_to_district); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = PyFloat_FromDouble(__pyx_v_private_demand_constraint); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_17, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_14, __pyx_v_xx}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[7] = {__pyx_t_9, __pyx_t_17, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_t_14, __pyx_v_xx}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 6+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_16 = PyTuple_New(6+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_6, __pyx_t_17); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_6, __pyx_float_0_0); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_6, __pyx_t_14); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_6, __pyx_v_xx); __pyx_t_17 = 0; __pyx_t_14 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_private_delivery); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_16, __pyx_t_4) < 0)) __PYX_ERR(0, 4955, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4956:
+4957: for canal_loc in canal_range:
if (likely(PyList_CheckExact(__pyx_v_canal_range)) || PyTuple_CheckExact(__pyx_v_canal_range)) { __pyx_t_5 = __pyx_v_canal_range; __Pyx_INCREF(__pyx_t_5); __pyx_t_7 = 0; __pyx_t_11 = NULL; } else { __pyx_t_7 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_canal_range); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 4957, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4957, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_7); __Pyx_INCREF(__pyx_t_3); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 4957, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4957, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4957, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_canal_loc, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+4958: x = self.canal_district[canal.name][canal_loc]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_canal_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4); __pyx_t_4 = 0;
+4959: demand_constraint = 0.0
__pyx_v_demand_constraint = 0.0;
+4960: if x.is_District == 1:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_District); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4960, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4960, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L27; }
4961: #find demand at the node
4962: #partial delivery is used if the district recieves less than full daily demand due to projected contract allocations being lower than expected remaining annual demand
4963: #find district demand at the node
+4964: if search_type == "recovery":
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4964, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L28; }
+4965: demand_constraint = x.find_node_output()
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); } } __pyx_t_16 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4965, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_16); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4965, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_v_demand_constraint = __pyx_t_15;
4966: else:
+4967: demand_constraint = x.find_node_demand(contract_list, search_type, toggle_partial_delivery, toggle_district_recharge)
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_toggle_partial_delivery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_14 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_14)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_14);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[5] = {__pyx_t_14, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_3, __pyx_t_8};
__pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[5] = {__pyx_t_14, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_3, __pyx_t_8};
__pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_17 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
if (__pyx_t_14) {
__Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_14); __pyx_t_14 = NULL;
}
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_v_search_type);
__Pyx_GIVEREF(__pyx_v_search_type);
PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_v_search_type);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_3);
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_6, __pyx_t_8);
__pyx_t_3 = 0;
__pyx_t_8 = 0;
__pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_16); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4967, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__pyx_v_demand_constraint = __pyx_t_15;
}
__pyx_L28:;
+4968: self.find_node_demand_district(x, canal, canal_loc, demand_constraint, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list, toggle_district_recharge)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_district); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_17 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4968, __pyx_L1_error) } __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[13] = {__pyx_t_9, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_t_17, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_3, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_14}; __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 12+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[13] = {__pyx_t_9, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_t_17, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_3, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_14}; __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 12+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_18 = PyTuple_New(12+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_6, __pyx_v_x); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_6, __pyx_v_canal); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_6, __pyx_t_17); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_18, 4+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_18, 5+__pyx_t_6, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_18, 6+__pyx_t_6, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_18, 7+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 8+__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_18, 9+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_18, 10+__pyx_t_6, __pyx_v_type_list); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_18, 11+__pyx_t_6, __pyx_t_14); __pyx_t_17 = 0; __pyx_t_8 = 0; __pyx_t_3 = 0; __pyx_t_14 = 0; __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_18, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4968, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+4969: canal.find_turnout_adjustment(demand_constraint, flow_dir, canal_loc, type_list)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4969, __pyx_L1_error) } __pyx_t_14 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_14, __pyx_t_18, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[5] = {__pyx_t_14, __pyx_t_18, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_3 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_6, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_6, __pyx_v_type_list); __pyx_t_18 = 0; __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
4970:
+4971: elif x.is_Waterbank == 1:
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_Waterbank); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyInt_EqObjC(__pyx_t_16, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4971, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_1) { /* … */ goto __pyx_L27; }
+4972: self.find_node_demand_bank(x, canal, canal_loc, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_bank); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4972, __pyx_L1_error) } __pyx_t_14 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_14)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_14); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[11] = {__pyx_t_14, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_3, __pyx_t_18, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[11] = {__pyx_t_14, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_3, __pyx_t_18, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_8 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_14) { __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_14); __pyx_t_14 = NULL; } __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_x); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_canal); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_8, 4+__pyx_t_6, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_8, 5+__pyx_t_6, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 6+__pyx_t_6, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_8, 7+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_8, 8+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_8, 9+__pyx_t_6, __pyx_v_type_list); __pyx_t_3 = 0; __pyx_t_18 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4972, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
4973: #once all member demands/requests/priorities have been established, we can determine how much of each type of demand can be sent to the bank (b/c of turnout space)
+4974: if search_type == 'recovery':
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 4974, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ goto __pyx_L29; }
+4975: current_recovery = 0.0
__pyx_v_current_recovery = 0.0;
+4976: for xx in x.participant_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_16 = __pyx_t_4; __Pyx_INCREF(__pyx_t_16); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_16 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_13 = Py_TYPE(__pyx_t_16)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4976, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_16))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_16, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4976, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_16, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_16)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_16, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4976, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_16, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4976, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_13(__pyx_t_16); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4976, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+4977: current_recovery += x.recovery_use[xx]
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_current_recovery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recovery_use); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4977, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_current_recovery = __pyx_t_15;
+4978: demand_constraint = x.recovery - current_recovery
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recovery); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = PyFloat_FromDouble(__pyx_v_current_recovery); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = PyNumber_Subtract(__pyx_t_16, __pyx_t_8); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4978, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4978, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_demand_constraint = __pyx_t_15;
4979: else:
+4980: current_storage = 0.0
/*else*/ {
__pyx_v_current_storage = 0.0;
+4981: for xx in x.participant_list:
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (likely(PyList_CheckExact(__pyx_t_18)) || PyTuple_CheckExact(__pyx_t_18)) { __pyx_t_8 = __pyx_t_18; __Pyx_INCREF(__pyx_t_8); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 4981, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_18); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4981, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_18 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_18); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 4981, __pyx_L1_error) #else __pyx_t_18 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4981, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); #endif } } else { __pyx_t_18 = __pyx_t_13(__pyx_t_8); if (unlikely(!__pyx_t_18)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 4981, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_18); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_18); __pyx_t_18 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4982: current_storage += x.storage[xx]
__pyx_t_18 = PyFloat_FromDouble(__pyx_v_current_storage); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_storage); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_InPlaceAdd(__pyx_t_18, __pyx_t_4); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_16); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_v_current_storage = __pyx_t_15;
+4983: demand_constraint = x.tot_storage - current_storage
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_tot_storage); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_16 = PyFloat_FromDouble(__pyx_v_current_storage); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = PyNumber_Subtract(__pyx_t_8, __pyx_t_16); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 4983, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_demand_constraint = __pyx_t_15;
+4984: self.find_node_demand_bank(x, canal, canal_loc, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_bank); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4984, __pyx_L1_error) } __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[11] = {__pyx_t_3, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_18, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[11] = {__pyx_t_3, __pyx_v_x, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_18, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 10+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_14 = PyTuple_New(10+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_v_x); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_v_canal); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_14, 4+__pyx_t_6, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_14, 5+__pyx_t_6, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_14, 6+__pyx_t_6, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_14, 7+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_14, 8+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_14, 9+__pyx_t_6, __pyx_v_type_list); __pyx_t_8 = 0; __pyx_t_18 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_14, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4984, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __pyx_L29:;
+4985: canal.find_turnout_adjustment(demand_constraint, flow_dir, canal_loc, type_list)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 4985, __pyx_L1_error) } __pyx_t_18 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_18, __pyx_t_14, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_18, __pyx_t_14, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_8 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_t_14); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_6, __pyx_v_type_list); __pyx_t_14 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+4986: elif x.is_Canal == 1:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_Canal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_2) { /* … */ } __pyx_L27:;
4987: #find if the new canal can be accessed from the current canal
+4988: if canal.turnout[flow_dir][canal_loc] > 0.0:
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_16, __pyx_v_flow_dir); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_canal_loc); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_16, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L34; }
4989: #if it can, which way does the water flow onto the new canal
+4990: new_flow_dir = canal.flow_directions[flow_type][x.name]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_v_flow_type); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 4990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(PyUnicode_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "unicode", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 4990, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_new_flow_dir, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0;
4991: #calculate the demands for this whole canal by recursively calling this function again, but with the new canal input parameters
+4992: available_to_canal = {}
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_XDECREF_SET(__pyx_v_available_to_canal, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0;
+4993: if x.recovery_feeder:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recovery_feeder); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 4993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4993, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L35; }
+4994: for zz in type_deliveries:
__pyx_t_12 = 0;
__pyx_t_4 = __Pyx_dict_iterator(__pyx_v_type_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_19), (&__pyx_t_6)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8);
__pyx_t_8 = __pyx_t_4;
__pyx_t_4 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_8, __pyx_t_19, &__pyx_t_12, &__pyx_t_4, NULL, NULL, __pyx_t_6);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 4994, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
+4995: available_to_canal[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_available_to_canal, __pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 4995, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+4996: elif search_type == 'recovery':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 4996, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L35; }
+4997: for zz in type_deliveries:
__pyx_t_19 = 0;
__pyx_t_4 = __Pyx_dict_iterator(__pyx_v_type_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_12), (&__pyx_t_6)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8);
__pyx_t_8 = __pyx_t_4;
__pyx_t_4 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_8, __pyx_t_12, &__pyx_t_19, &__pyx_t_4, NULL, NULL, __pyx_t_6);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 4997, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
+4998: available_to_canal[zz] = type_deliveries[zz]
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 4998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(PyDict_SetItem(__pyx_v_available_to_canal, __pyx_v_zz, __pyx_t_4) < 0)) __PYX_ERR(0, 4998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
4999: else:
+5000: for zz in type_deliveries:
/*else*/ {
__pyx_t_12 = 0;
__pyx_t_4 = __Pyx_dict_iterator(__pyx_v_type_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_19), (&__pyx_t_6)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5000, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8);
__pyx_t_8 = __pyx_t_4;
__pyx_t_4 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_8, __pyx_t_19, &__pyx_t_12, &__pyx_t_4, NULL, NULL, __pyx_t_6);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 5000, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
+5001: available_to_canal[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_available_to_canal, __pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5001, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __pyx_L35:;
5002:
+5003: canal_demands = self.search_canal_demand(dowy, x, canal.key, contract_canal, new_flow_dir,flow_type,wateryear,search_type, available_to_canal)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_search_canal_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_16 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[10] = {__pyx_t_3, __pyx_t_16, __pyx_v_x, __pyx_t_14, __pyx_v_contract_canal, __pyx_v_new_flow_dir, __pyx_v_flow_type, __pyx_t_18, __pyx_v_search_type, __pyx_v_available_to_canal}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[10] = {__pyx_t_3, __pyx_t_16, __pyx_v_x, __pyx_t_14, __pyx_v_contract_canal, __pyx_v_new_flow_dir, __pyx_v_flow_type, __pyx_t_18, __pyx_v_search_type, __pyx_v_available_to_canal}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 9+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_17 = PyTuple_New(9+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_16); __Pyx_INCREF(__pyx_v_x); __Pyx_GIVEREF(__pyx_v_x); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_v_x); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_14); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_6, __pyx_v_contract_canal); __Pyx_INCREF(__pyx_v_new_flow_dir); __Pyx_GIVEREF(__pyx_v_new_flow_dir); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_6, __pyx_v_new_flow_dir); __Pyx_INCREF(__pyx_v_flow_type); __Pyx_GIVEREF(__pyx_v_flow_type); PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_6, __pyx_v_flow_type); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_17, 7+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_available_to_canal); __Pyx_GIVEREF(__pyx_v_available_to_canal); PyTuple_SET_ITEM(__pyx_t_17, 8+__pyx_t_6, __pyx_v_available_to_canal); __pyx_t_16 = 0; __pyx_t_14 = 0; __pyx_t_18 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_17, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 5003, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_canal_demands, ((PyObject*)__pyx_t_8)); __pyx_t_8 = 0;
5004: #check to see all demands can be met using the turnout space
+5005: total_demand = 0.0
__pyx_v_total_demand = 0.0;
+5006: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5006, __pyx_L1_error) }
__pyx_t_8 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_19 = 0;
for (;;) {
if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_t_4); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5006, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5006, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+5007: canal.demand[zz][canal_loc] = canal_demands[zz]
if (unlikely(__pyx_v_canal_demands == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 5007, __pyx_L1_error)
}
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_canal_demands, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5007, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5007, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_zz); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5007, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_18);
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
if (unlikely(PyObject_SetItem(__pyx_t_18, __pyx_v_canal_loc, __pyx_t_4) < 0)) __PYX_ERR(0, 5007, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5008: total_demand += canal_demands[zz]
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_total_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(__pyx_v_canal_demands == Py_None)) { PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable"); __PYX_ERR(0, 5008, __pyx_L1_error) } __pyx_t_18 = __Pyx_PyDict_GetItem(__pyx_v_canal_demands, __pyx_v_zz); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_17); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_v_total_demand = __pyx_t_15;
+5009: canal.find_turnout_adjustment(total_demand, flow_dir, canal_loc, type_list)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_total_demand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5009, __pyx_L1_error) } __pyx_t_4 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_4)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_t_18, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[5] = {__pyx_t_4, __pyx_t_18, __pyx_v_flow_dir, __pyx_v_canal_loc, __pyx_v_type_list}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_14 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_4); __pyx_t_4 = NULL; } __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_6, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_14, 3+__pyx_t_6, __pyx_v_type_list); __pyx_t_18 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5009, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
5010: else:
+5011: for zz in type_list:
/*else*/ {
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5011, __pyx_L1_error) }
__pyx_t_8 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_19 = 0;
for (;;) {
if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_17 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_t_17); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5011, __pyx_L1_error)
#else
__pyx_t_17 = PySequence_ITEM(__pyx_t_8, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
#endif
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_17);
__pyx_t_17 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L34:;
+5012: canal.demand[zz][canal_loc] = 0.0
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5012, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_zz); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5012, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(PyObject_SetItem(__pyx_t_14, __pyx_v_canal_loc, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5012, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
5013: #sum demand at all canal nodes
+5014: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5014, __pyx_L1_error) }
__pyx_t_8 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_8); __pyx_t_19 = 0;
for (;;) {
if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_8)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_14 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5014, __pyx_L1_error)
#else
__pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5014, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
#endif
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_14);
__pyx_t_14 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+5015: type_deliveries[zz] += canal.demand[zz][canal_loc]
__Pyx_INCREF(__pyx_v_zz); __pyx_t_14 = __pyx_v_zz; __pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_18, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_canal_loc); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_17, __pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if (unlikely(PyDict_SetItem(__pyx_v_type_deliveries, __pyx_t_14, __pyx_t_4) < 0)) __PYX_ERR(0, 5015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+5016: if search_type == "recovery":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 5016, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ }
+5017: if x.is_District == 1:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_is_District); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = __Pyx_PyInt_EqObjC(__pyx_t_8, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { /* … */ }
+5018: if x.in_leiu_banking:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5018, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5018, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { /* … */ }
+5019: for xx in x.participant_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_8 = __pyx_t_14; __Pyx_INCREF(__pyx_t_8); __pyx_t_19 = 0; __pyx_t_13 = NULL; } else { __pyx_t_19 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5019, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5019, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5019, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_13(__pyx_t_8); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5019, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+5020: if xx != x.key:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5020, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_4 = PyObject_RichCompare(__pyx_v_xx, __pyx_t_14, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5020, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_2) { /* … */ }
+5021: num_members = self.district_keys_len[xx]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5021, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_6 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_6 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 5021, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_num_members = __pyx_t_6;
+5022: for wb_member in self.district_keys[xx]:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_14 = __pyx_t_4; __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = 0; __pyx_t_21 = NULL; } else { __pyx_t_12 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_21 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5022, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_14))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5022, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_14, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_14)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5022, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_14, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5022, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_21(__pyx_t_14); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5022, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
5023: #find waterbank partner demand (i.e., recovery capacity of their ownership share)
+5024: demand_constraint, demand_constraint_by_contracts = x.find_leiu_output(contract_list, x.leiu_ownership[xx], xx, wateryear)
__pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_leiu_output); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_leiu_ownership); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_contract_list, __pyx_t_16, __pyx_v_xx, __pyx_t_17}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[5] = {__pyx_t_3, __pyx_v_contract_list, __pyx_t_16, __pyx_v_xx, __pyx_t_17}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } else #endif { __pyx_t_9 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_6, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_6, __pyx_t_16); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_6, __pyx_t_17); __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 5024, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_18 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_18 = PyList_GET_ITEM(sequence, 0); __pyx_t_9 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(__pyx_t_9); #else __pyx_t_18 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_17 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_17)->tp_iternext; index = 0; __pyx_t_18 = __pyx_t_10(__pyx_t_17); if (unlikely(!__pyx_t_18)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_18); index = 1; __pyx_t_9 = __pyx_t_10(__pyx_t_17); if (unlikely(!__pyx_t_9)) goto __pyx_L56_unpacking_failed; __Pyx_GOTREF(__pyx_t_9); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_17), 2) < 0) __PYX_ERR(0, 5024, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; goto __pyx_L57_unpacking_done; __pyx_L56_unpacking_failed:; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 5024, __pyx_L1_error) __pyx_L57_unpacking_done:; } __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5024, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_demand_constraint = __pyx_t_15; __Pyx_XDECREF_SET(__pyx_v_demand_constraint_by_contracts, __pyx_t_9); __pyx_t_9 = 0;
5025: #does this partner want recovery water?
+5026: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, x.inleiubanked[xx], x.inleiucap[xx], dowy, wateryear)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_xx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_t_18, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_16, __pyx_t_3, __pyx_t_17, __pyx_t_22}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_23, __pyx_t_18, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_16, __pyx_t_3, __pyx_t_17, __pyx_t_22}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_24 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_6, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_6, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_6, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_6, __pyx_t_22); __pyx_t_18 = 0; __pyx_t_16 = 0; __pyx_t_3 = 0; __pyx_t_17 = 0; __pyx_t_22 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_24, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_deliveries, __pyx_t_4); __pyx_t_4 = 0;
5027: #what is their priority over the water/canal space?
+5028: priority_bank_space = x.find_leiu_priority_space(demand_constraint, num_members, xx, 0, search_type)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_leiu_priority_space); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_24 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_num_members); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[6] = {__pyx_t_17, __pyx_t_24, __pyx_t_22, __pyx_v_xx, __pyx_int_0, __pyx_v_search_type}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[6] = {__pyx_t_17, __pyx_t_24, __pyx_t_22, __pyx_v_xx, __pyx_int_0, __pyx_v_search_type}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_3 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_6, __pyx_t_24); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_6, __pyx_v_xx); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 3+__pyx_t_6, __pyx_int_0); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_3, 4+__pyx_t_6, __pyx_v_search_type); __pyx_t_24 = 0; __pyx_t_22 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5028, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_priority_bank_space = __pyx_t_15;
5029:
+5030: priorities = x.set_demand_priority("N/A", "N/A", priority_bank_space, deliveries, demand_constraint, search_type, "N/A")
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_priority_bank_space); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = PyFloat_FromDouble(__pyx_v_demand_constraint); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_24 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_24 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_24)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_24); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_t_3, __pyx_v_deliveries, __pyx_t_22, __pyx_v_search_type, __pyx_kp_u_N_A}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[8] = {__pyx_t_24, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_t_3, __pyx_v_deliveries, __pyx_t_22, __pyx_v_search_type, __pyx_kp_u_N_A}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_6, 7+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } else #endif { __pyx_t_17 = PyTuple_New(7+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_24) { __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_24); __pyx_t_24 = NULL; } __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_kp_u_N_A); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_6, __pyx_v_deliveries); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_6, __pyx_v_search_type); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_6, __pyx_kp_u_N_A); __pyx_t_3 = 0; __pyx_t_22 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (!(likely(PyDict_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_4)->tp_name), 0))) __PYX_ERR(0, 5030, __pyx_L1_error) __Pyx_XDECREF_SET(__pyx_v_priorities, ((PyObject*)__pyx_t_4)); __pyx_t_4 = 0;
5031: #need to adjust the water request to account for the banking partner share of the turnout
+5032: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5032, __pyx_L1_error) }
__pyx_t_4 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_4); __pyx_t_25 = 0;
for (;;) {
if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_25); __Pyx_INCREF(__pyx_t_9); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 5032, __pyx_L1_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_4, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5032, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_9);
__pyx_t_9 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5033: #paper trade recovery is equal to
+5034: paper_amount = priorities[zz]
if (unlikely(__pyx_v_priorities == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 5034, __pyx_L1_error)
}
__pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5034, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5034, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_paper_amount = __pyx_t_15;
+5035: direct_amount = 0.0
__pyx_v_direct_amount = 0.0;
+5036: contract_frac_list = np.zeros(len(x.contract_list))
__Pyx_GetModuleGlobalName(__pyx_t_17, __pyx_n_s_np); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_t_17, __pyx_n_s_zeros); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_26 = PyObject_Length(__pyx_t_17); if (unlikely(__pyx_t_26 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyInt_FromSsize_t(__pyx_t_26); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_22))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); } } __pyx_t_9 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_22, __pyx_t_3, __pyx_t_17) : __Pyx_PyObject_CallOneArg(__pyx_t_22, __pyx_t_17); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5036, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_contract_frac_list, __pyx_t_9); __pyx_t_9 = 0;
5037:
+5038: wb_member.get_paper_exchange(paper_amount, x.contract_list, demand_constraint_by_contracts, wateryear)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_get_paper_exchange); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = PyFloat_FromDouble(__pyx_v_paper_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_16 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[5] = {__pyx_t_16, __pyx_t_17, __pyx_t_3, __pyx_v_demand_constraint_by_contracts, __pyx_t_24}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[5] = {__pyx_t_16, __pyx_t_17, __pyx_t_3, __pyx_v_demand_constraint_by_contracts, __pyx_t_24}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_18 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_v_demand_constraint_by_contracts); __Pyx_GIVEREF(__pyx_v_demand_constraint_by_contracts); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_6, __pyx_v_demand_constraint_by_contracts); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_6, __pyx_t_24); __pyx_t_17 = 0; __pyx_t_3 = 0; __pyx_t_24 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_18, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+5039: x.adjust_exchange(paper_amount, xx, wateryear)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_adjust_exchange); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = PyFloat_FromDouble(__pyx_v_paper_amount); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_24 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_3 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_18, __pyx_v_xx, __pyx_t_24}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_18, __pyx_v_xx, __pyx_t_24}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } else #endif { __pyx_t_17 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_3); __pyx_t_3 = NULL; } __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_18); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_v_xx); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_24); __pyx_t_18 = 0; __pyx_t_24 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_17, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+5040: x.give_paper_exchange(paper_amount, x.contract_list, demand_constraint_by_contracts, wateryear, x.key)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_give_paper_exchange); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_17 = PyFloat_FromDouble(__pyx_v_paper_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_16 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[6] = {__pyx_t_16, __pyx_t_17, __pyx_t_24, __pyx_v_demand_constraint_by_contracts, __pyx_t_18, __pyx_t_3}; __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[6] = {__pyx_t_16, __pyx_t_17, __pyx_t_24, __pyx_v_demand_constraint_by_contracts, __pyx_t_18, __pyx_t_3}; __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 5+__pyx_t_6); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_23 = PyTuple_New(5+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_24); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_t_24); __Pyx_INCREF(__pyx_v_demand_constraint_by_contracts); __Pyx_GIVEREF(__pyx_v_demand_constraint_by_contracts); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_v_demand_constraint_by_contracts); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_18); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_6, __pyx_t_3); __pyx_t_17 = 0; __pyx_t_24 = 0; __pyx_t_18 = 0; __pyx_t_3 = 0; __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_23, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5040, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
5041:
5042: #for non-bank district nodes, they can accept recovery water. we want to find how much water they can accept (based on their ability to make paper trades using the contracts in contract_list, then determine how much of the recovery water up-canal, can be delivered here as a 'paper' trade, and then how much additional water can be delivered here 'directly' (i.e., the pumping out of the water bank is going to the district that owns capacity in the water bank, so no paper trades needed - this is useful if there is no surface water storage, but a district still wants water from its water bank (and can get that water directly, from the run of the canal)
+5043: total_district_demand = x.find_node_demand(contract_list, search_type, toggle_partial_delivery, toggle_district_recharge)
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_toggle_partial_delivery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_22 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_22 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_22)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_4, __pyx_t_9}; __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[5] = {__pyx_t_22, __pyx_v_contract_list, __pyx_v_search_type, __pyx_t_4, __pyx_t_9}; __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_23 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_22) { __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __pyx_t_22 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_6, __pyx_v_search_type); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_6, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_6, __pyx_t_9); __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_23, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5043, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_total_district_demand = __pyx_t_15;
+5044: total_available = 0.0
__pyx_v_total_available = 0.0;
+5045: existing_canal_space = canal.capacity[flow_dir][canal_loc]*cfs_tafd - canal.flow[canal_loc]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_capacity); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_14 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_v_flow_dir); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_loc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_23 = PyNumber_Multiply(__pyx_t_8, __pyx_t_14); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_14, __pyx_v_canal_loc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_Subtract(__pyx_t_23, __pyx_t_8); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5045, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_existing_canal_space = __pyx_t_15;
+5046: for delivery_type in type_deliveries:
__pyx_t_19 = 0;
__pyx_t_8 = __Pyx_dict_iterator(__pyx_v_type_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_12), (&__pyx_t_6)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_14);
__pyx_t_14 = __pyx_t_8;
__pyx_t_8 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_14, __pyx_t_12, &__pyx_t_19, &__pyx_t_8, NULL, NULL, __pyx_t_6);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 5046, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_XDECREF_SET(__pyx_v_delivery_type, __pyx_t_8);
__pyx_t_8 = 0;
+5047: total_available += type_deliveries[delivery_type]
__pyx_t_8 = PyFloat_FromDouble(__pyx_v_total_available); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_delivery_type); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_23); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_9); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_total_available = __pyx_t_15; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+5048: total_exchange = 0.0
__pyx_v_total_exchange = 0.0;
+5049: for y in contract_list:
if (unlikely(__pyx_v_contract_list == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 5049, __pyx_L1_error)
}
__pyx_t_14 = __pyx_v_contract_list; __Pyx_INCREF(__pyx_t_14); __pyx_t_12 = 0;
for (;;) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_14)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_9 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_12); __Pyx_INCREF(__pyx_t_9); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5049, __pyx_L1_error)
#else
__pyx_t_9 = PySequence_ITEM(__pyx_t_14, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5049, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
#endif
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_9);
__pyx_t_9 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+5050: total_exchange += x.projected_supply[y.name]
__pyx_t_9 = PyFloat_FromDouble(__pyx_v_total_exchange); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5050, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_total_exchange = __pyx_t_15;
+5051: if x.has_private:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5051, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { /* … */ }
+5052: for city_pump in self.city_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_8 = __pyx_t_14; __Pyx_INCREF(__pyx_t_8); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_8 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = Py_TYPE(__pyx_t_8)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5052, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_8))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_14); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5052, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_12); __Pyx_INCREF(__pyx_t_14); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5052, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_8, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_13(__pyx_t_8); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5052, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_city_pump, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+5053: for xx in city_pump.district_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_district_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_4 = __pyx_t_14; __Pyx_INCREF(__pyx_t_4); __pyx_t_19 = 0; __pyx_t_21 = NULL; } else { __pyx_t_19 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5053, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5053, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5053, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_21(__pyx_t_4); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5053, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5054: if xx == x.key:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = PyObject_RichCompare(__pyx_v_xx, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_2) { /* … */ }
+5055: for y in contract_list:
if (unlikely(__pyx_v_contract_list == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 5055, __pyx_L1_error)
}
__pyx_t_9 = __pyx_v_contract_list; __Pyx_INCREF(__pyx_t_9); __pyx_t_25 = 0;
for (;;) {
if (__pyx_t_25 >= PyList_GET_SIZE(__pyx_t_9)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_14 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_25); __Pyx_INCREF(__pyx_t_14); __pyx_t_25++; if (unlikely(0 < 0)) __PYX_ERR(0, 5055, __pyx_L1_error)
#else
__pyx_t_14 = PySequence_ITEM(__pyx_t_9, __pyx_t_25); __pyx_t_25++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5055, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_14);
#endif
__Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_14);
__pyx_t_14 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+5056: total_exchange += city_pump.projected_supply[x.key][y.name]
__pyx_t_14 = PyFloat_FromDouble(__pyx_v_total_exchange); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_projected_supply); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_23, __pyx_t_22); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_t_14, __pyx_t_23); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5056, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_total_exchange = __pyx_t_15;
+5057: paper_recovery = min(total_district_demand, total_available, total_exchange)
__pyx_t_15 = __pyx_v_total_available;
__pyx_t_27 = __pyx_v_total_exchange;
__pyx_t_28 = __pyx_v_total_district_demand;
if (((__pyx_t_15 < __pyx_t_28) != 0)) {
__pyx_t_29 = __pyx_t_15;
} else {
__pyx_t_29 = __pyx_t_28;
}
__pyx_t_28 = __pyx_t_29;
if (((__pyx_t_27 < __pyx_t_28) != 0)) {
__pyx_t_29 = __pyx_t_27;
} else {
__pyx_t_29 = __pyx_t_28;
}
__pyx_v_paper_recovery = __pyx_t_29;
+5058: private_deliveries = 0.0
__pyx_v_private_deliveries = 0.0;
+5059: if x.has_private:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5059, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5059, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_2) { /* … */ }
+5060: for xx in x.private_demand:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (likely(PyList_CheckExact(__pyx_t_8)) || PyTuple_CheckExact(__pyx_t_8)) { __pyx_t_4 = __pyx_t_8; __Pyx_INCREF(__pyx_t_4); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5060, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5060, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5060, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_13(__pyx_t_4); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5060, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5061: private_deliveries += min(x.private_demand[xx], x.private_delivery[xx])
__pyx_t_8 = PyFloat_FromDouble(__pyx_v_private_deliveries); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_delivery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_22 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_23 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_14 = PyObject_RichCompare(__pyx_t_22, __pyx_t_23, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5061, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { __Pyx_INCREF(__pyx_t_22); __pyx_t_9 = __pyx_t_22; } else { __Pyx_INCREF(__pyx_t_23); __pyx_t_9 = __pyx_t_23; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_29 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_29 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_private_deliveries = __pyx_t_29;
+5062: direct_recovery = max(min(total_available - paper_recovery, x.dailydemand[0]*x.seepage*x.surface_water_sa + private_deliveries - paper_recovery), 0.0)
__pyx_t_29 = 0.0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_dailydemand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_22 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_seepage); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = PyNumber_Multiply(__pyx_t_22, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_surface_water_sa); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_22 = PyNumber_Multiply(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_private_deliveries); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = PyNumber_Add(__pyx_t_22, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_paper_recovery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_22 = PyNumber_Subtract(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_15 = (__pyx_v_total_available - __pyx_v_paper_recovery);
__pyx_t_9 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_22, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_2) {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_4 = __pyx_t_22;
} else {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = __pyx_t_8;
__pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__Pyx_INCREF(__pyx_t_4);
__pyx_t_22 = __pyx_t_4;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_29); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_22, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (__pyx_t_2) {
__pyx_t_9 = PyFloat_FromDouble(__pyx_t_29); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = __pyx_t_9;
__pyx_t_9 = 0;
} else {
__Pyx_INCREF(__pyx_t_22);
__pyx_t_4 = __pyx_t_22;
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
__pyx_t_29 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_29 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5062, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_direct_recovery = __pyx_t_29;
5063: #find capacity constraints between this location and the up-canal waterbanks
+5064: if flow_dir == "normal":
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5064, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L75; }
+5065: lookback_range = range(starting_point, canal_loc)
__pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = PyTuple_New(2); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_4); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_v_canal_loc); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_lookback_range, __pyx_t_4); __pyx_t_4 = 0;
+5066: elif flow_dir == "reverse":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 5066, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } __pyx_L75:;
+5067: lookback_range = range(starting_point, canal_loc, -1)
__pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = PyTuple_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_4); __Pyx_INCREF(__pyx_v_canal_loc); __Pyx_GIVEREF(__pyx_v_canal_loc); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_v_canal_loc); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_22, 2, __pyx_int_neg_1); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_lookback_range, __pyx_t_4); __pyx_t_4 = 0;
+5068: max_flow = canal.capacity[flow_dir][starting_point]*cfs_tafd - canal.flow[starting_point]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_capacity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_22 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_v_flow_dir); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_22, __pyx_v_starting_point, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_GetModuleGlobalName(__pyx_t_22, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_9 = PyNumber_Multiply(__pyx_t_4, __pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_22, __pyx_v_starting_point, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_22 = PyNumber_Subtract(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_29 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_29 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5068, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_v_max_flow = __pyx_t_29;
+5069: for lookback_loc in lookback_range:
if (unlikely(!__pyx_v_lookback_range)) { __Pyx_RaiseUnboundLocalError("lookback_range"); __PYX_ERR(0, 5069, __pyx_L1_error) }
if (likely(PyList_CheckExact(__pyx_v_lookback_range)) || PyTuple_CheckExact(__pyx_v_lookback_range)) {
__pyx_t_22 = __pyx_v_lookback_range; __Pyx_INCREF(__pyx_t_22); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
} else {
__pyx_t_12 = -1; __pyx_t_22 = PyObject_GetIter(__pyx_v_lookback_range); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5069, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_22);
__pyx_t_13 = Py_TYPE(__pyx_t_22)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5069, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_13)) {
if (likely(PyList_CheckExact(__pyx_t_22))) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_22)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5069, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_22, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5069, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
} else {
if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_22)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_22, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5069, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_22, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5069, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
}
} else {
__pyx_t_4 = __pyx_t_13(__pyx_t_22);
if (unlikely(!__pyx_t_4)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 5069, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_4);
}
__Pyx_XDECREF_SET(__pyx_v_lookback_loc, __pyx_t_4);
__pyx_t_4 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+5070: max_flow = min(canal.capacity[flow_dir][lookback_loc]*cfs_tafd - canal.flow[lookback_loc], max_flow)
__pyx_t_29 = __pyx_v_max_flow;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_capacity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_v_flow_dir); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_8 = PyNumber_Multiply(__pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_9 = PyNumber_Subtract(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_29); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_23 = PyObject_RichCompare(__pyx_t_8, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_23); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
if (__pyx_t_2) {
__pyx_t_23 = PyFloat_FromDouble(__pyx_t_29); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__pyx_t_4 = __pyx_t_23;
__pyx_t_23 = 0;
} else {
__Pyx_INCREF(__pyx_t_9);
__pyx_t_4 = __pyx_t_9;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_29 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_29 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5070, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_max_flow = __pyx_t_29;
+5071: direct_recovery = min(max(max_flow - paper_recovery, 0.0), direct_recovery)
__pyx_t_29 = __pyx_v_direct_recovery;
__pyx_t_15 = 0.0;
__pyx_t_27 = (__pyx_v_max_flow - __pyx_v_paper_recovery);
if (((__pyx_t_15 > __pyx_t_27) != 0)) {
__pyx_t_28 = __pyx_t_15;
} else {
__pyx_t_28 = __pyx_t_27;
}
__pyx_t_15 = __pyx_t_28;
if (((__pyx_t_29 < __pyx_t_15) != 0)) {
__pyx_t_28 = __pyx_t_29;
} else {
__pyx_t_28 = __pyx_t_15;
}
__pyx_v_direct_recovery = __pyx_t_28;
+5072: paper_recovery = min(paper_recovery, max_flow)
__pyx_t_28 = __pyx_v_max_flow;
__pyx_t_29 = __pyx_v_paper_recovery;
if (((__pyx_t_28 < __pyx_t_29) != 0)) {
__pyx_t_15 = __pyx_t_28;
} else {
__pyx_t_15 = __pyx_t_29;
}
__pyx_v_paper_recovery = __pyx_t_15;
5073: #find the % of total 'recovery demand' at each water bank that can be fufilled at this district demand node
+5074: paper_fractions = {}
__pyx_t_22 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5074, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_XDECREF_SET(__pyx_v_paper_fractions, ((PyObject*)__pyx_t_22)); __pyx_t_22 = 0;
+5075: committed = 0.0
__pyx_v_committed = 0.0;
+5076: for zz in type_list:
if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5076, __pyx_L1_error) }
__pyx_t_22 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_22); __pyx_t_12 = 0;
for (;;) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_22)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_4 = PyList_GET_ITEM(__pyx_t_22, __pyx_t_12); __Pyx_INCREF(__pyx_t_4); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5076, __pyx_L1_error)
#else
__pyx_t_4 = PySequence_ITEM(__pyx_t_22, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5076, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
#endif
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0;
+5077: if type_deliveries[zz] > 0.0:
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5077, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_float_0_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5077, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L80; }
+5078: paper_fractions[zz] = min((paper_recovery - committed)/type_deliveries[zz], 1.0)
__pyx_t_15 = 1.0;
__pyx_t_9 = PyFloat_FromDouble((__pyx_v_paper_recovery - __pyx_v_committed)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_23 = __Pyx_PyNumber_Divide(__pyx_t_9, __pyx_t_4); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_8 = PyObject_RichCompare(__pyx_t_9, __pyx_t_23, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_2) {
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = __pyx_t_8;
__pyx_t_8 = 0;
} else {
__Pyx_INCREF(__pyx_t_23);
__pyx_t_4 = __pyx_t_23;
}
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
__pyx_t_23 = __pyx_t_4;
__Pyx_INCREF(__pyx_t_23);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_paper_fractions, __pyx_v_zz, __pyx_t_23) < 0)) __PYX_ERR(0, 5078, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0;
+5079: committed += min(paper_recovery - committed, type_deliveries[zz])
__pyx_t_23 = PyFloat_FromDouble(__pyx_v_committed); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_4 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = (__pyx_v_paper_recovery - __pyx_v_committed); __pyx_t_9 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = PyObject_RichCompare(__pyx_t_4, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = __pyx_t_4; } else { __pyx_t_14 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_8 = __pyx_t_14; __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_23, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_4); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5079, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_committed = __pyx_t_15;
5080: else:
+5081: paper_fractions[zz] = 0.0
/*else*/ {
if (unlikely(PyDict_SetItem(__pyx_v_paper_fractions, __pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5081, __pyx_L1_error)
+5082: committed += min(paper_recovery - committed, type_deliveries[zz])
__pyx_t_4 = PyFloat_FromDouble(__pyx_v_committed); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_15 = (__pyx_v_paper_recovery - __pyx_v_committed); __pyx_t_14 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_14, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_2) { __Pyx_INCREF(__pyx_t_8); __pyx_t_23 = __pyx_t_8; } else { __pyx_t_9 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_23 = __pyx_t_9; __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_t_4, __pyx_t_23); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_8); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5082, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_committed = __pyx_t_15; } __pyx_L80:;
+5083: location_delivery = 0.0
__pyx_v_location_delivery = 0.0;
+5084: if committed > 0.0:
__pyx_t_2 = ((__pyx_v_committed > 0.0) != 0);
if (__pyx_t_2) {
/* … */
}
+5085: if flow_dir == "normal":
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5085, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ goto __pyx_L82; }
+5086: lookback_range = range(starting_point, canal_loc + 1)
__pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_canal_loc, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = PyTuple_New(2); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_23, 1, __pyx_t_8); __pyx_t_22 = 0; __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_23, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5086, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_XDECREF_SET(__pyx_v_lookback_range, __pyx_t_8); __pyx_t_8 = 0;
+5087: elif flow_dir == "reverse":
__pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 5087, __pyx_L1_error) __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { /* … */ } __pyx_L82:;
+5088: lookback_range = range(starting_point, canal_loc - 1, -1)
__pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_23 = __Pyx_PyInt_SubtractObjC(__pyx_v_canal_loc, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_22 = PyTuple_New(3); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_22, 1, __pyx_t_23); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_22, 2, __pyx_int_neg_1); __pyx_t_8 = 0; __pyx_t_23 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_22, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5088, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_XDECREF_SET(__pyx_v_lookback_range, __pyx_t_23); __pyx_t_23 = 0;
5089: #search for waterbanks
+5090: location_delivery, total_paper = self.delivery_recovery(contract_list, canal, lookback_range, starting_point, paper_fractions, direct_recovery, flow_dir, type_list, priority_list, contract_canal, x.key, dowy, wateryear)
__pyx_t_22 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delivery_recovery); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (unlikely(!__pyx_v_lookback_range)) { __Pyx_RaiseUnboundLocalError("lookback_range"); __PYX_ERR(0, 5090, __pyx_L1_error) } __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_starting_point); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_4 = PyFloat_FromDouble(__pyx_v_direct_recovery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (unlikely(!__pyx_v_type_list)) { __Pyx_RaiseUnboundLocalError("type_list"); __PYX_ERR(0, 5090, __pyx_L1_error) } __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_dowy); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_18 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_22))) { __pyx_t_18 = PyMethod_GET_SELF(__pyx_t_22); if (likely(__pyx_t_18)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_22); __Pyx_INCREF(__pyx_t_18); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_22, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[14] = {__pyx_t_18, __pyx_v_contract_list, __pyx_v_canal, __pyx_v_lookback_range, __pyx_t_8, __pyx_v_paper_fractions, __pyx_t_4, __pyx_v_flow_dir, __pyx_v_type_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_9, __pyx_t_14, __pyx_t_3}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_22)) { PyObject *__pyx_temp[14] = {__pyx_t_18, __pyx_v_contract_list, __pyx_v_canal, __pyx_v_lookback_range, __pyx_t_8, __pyx_v_paper_fractions, __pyx_t_4, __pyx_v_flow_dir, __pyx_v_type_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_t_9, __pyx_t_14, __pyx_t_3}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_22, __pyx_temp+1-__pyx_t_6, 13+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_24 = PyTuple_New(13+__pyx_t_6); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); if (__pyx_t_18) { __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_24, 0, __pyx_t_18); __pyx_t_18 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_24, 0+__pyx_t_6, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_24, 1+__pyx_t_6, __pyx_v_canal); __Pyx_INCREF(__pyx_v_lookback_range); __Pyx_GIVEREF(__pyx_v_lookback_range); PyTuple_SET_ITEM(__pyx_t_24, 2+__pyx_t_6, __pyx_v_lookback_range); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_24, 3+__pyx_t_6, __pyx_t_8); __Pyx_INCREF(__pyx_v_paper_fractions); __Pyx_GIVEREF(__pyx_v_paper_fractions); PyTuple_SET_ITEM(__pyx_t_24, 4+__pyx_t_6, __pyx_v_paper_fractions); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_24, 5+__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_24, 6+__pyx_t_6, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_24, 7+__pyx_t_6, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_24, 8+__pyx_t_6, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_24, 9+__pyx_t_6, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_24, 10+__pyx_t_6, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_24, 11+__pyx_t_6, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_24, 12+__pyx_t_6, __pyx_t_3); __pyx_t_8 = 0; __pyx_t_4 = 0; __pyx_t_9 = 0; __pyx_t_14 = 0; __pyx_t_3 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_22, __pyx_t_24, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; } __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_23))) || (PyList_CheckExact(__pyx_t_23))) { PyObject* sequence = __pyx_t_23; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 5090, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_22 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_24 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_22 = PyList_GET_ITEM(sequence, 0); __pyx_t_24 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_22); __Pyx_INCREF(__pyx_t_24); #else __pyx_t_22 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_24 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); #endif __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } else { Py_ssize_t index = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_10 = Py_TYPE(__pyx_t_3)->tp_iternext; index = 0; __pyx_t_22 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_22)) goto __pyx_L83_unpacking_failed; __Pyx_GOTREF(__pyx_t_22); index = 1; __pyx_t_24 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_24)) goto __pyx_L83_unpacking_failed; __Pyx_GOTREF(__pyx_t_24); if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_3), 2) < 0) __PYX_ERR(0, 5090, __pyx_L1_error) __pyx_t_10 = NULL; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; goto __pyx_L84_unpacking_done; __pyx_L83_unpacking_failed:; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_10 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 5090, __pyx_L1_error) __pyx_L84_unpacking_done:; } __pyx_t_15 = __pyx_PyFloat_AsDouble(__pyx_t_22); if (unlikely((__pyx_t_15 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_24); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5090, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_v_location_delivery = __pyx_t_15; __pyx_v_total_paper = __pyx_t_28;
+5091: paper_delivery = x.give_paper_trade(total_paper, contract_list, wateryear, x.key)
__pyx_t_24 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_give_paper_trade); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_22 = PyFloat_FromDouble(__pyx_v_total_paper); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_24))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_24); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_24); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_24, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_24)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_t_22, __pyx_v_contract_list, __pyx_t_3, __pyx_t_14}; __pyx_t_23 = __Pyx_PyFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_24)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_t_22, __pyx_v_contract_list, __pyx_t_3, __pyx_t_14}; __pyx_t_23 = __Pyx_PyCFunction_FastCall(__pyx_t_24, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } else #endif { __pyx_t_4 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_22); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_6, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_4, 3+__pyx_t_6, __pyx_t_14); __pyx_t_22 = 0; __pyx_t_3 = 0; __pyx_t_14 = 0; __pyx_t_23 = __Pyx_PyObject_Call(__pyx_t_24, __pyx_t_4, NULL); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_XDECREF_SET(__pyx_v_paper_delivery, __pyx_t_23); __pyx_t_23 = 0;
+5092: location_delivery -= paper_delivery
__pyx_t_23 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_24 = PyNumber_InPlaceSubtract(__pyx_t_23, __pyx_v_paper_delivery); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5092, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_24); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5092, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_v_location_delivery = __pyx_t_28;
+5093: total_paper -= paper_delivery
__pyx_t_24 = PyFloat_FromDouble(__pyx_v_total_paper); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_23 = PyNumber_InPlaceSubtract(__pyx_t_24, __pyx_v_paper_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5093, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_23); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5093, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_v_total_paper = __pyx_t_28;
+5094: if x.has_private:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5094, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_23); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5094, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; if (__pyx_t_2) { /* … */ }
+5095: for city_pump in self.city_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_24 = __pyx_t_23; __Pyx_INCREF(__pyx_t_24); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_13 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5095, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_24))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_23); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5095, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_12); __Pyx_INCREF(__pyx_t_23); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5095, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_24, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5095, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_13(__pyx_t_24); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5095, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_city_pump, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+5096: for yy in city_pump.district_list:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_district_list); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (likely(PyList_CheckExact(__pyx_t_23)) || PyTuple_CheckExact(__pyx_t_23)) { __pyx_t_4 = __pyx_t_23; __Pyx_INCREF(__pyx_t_4); __pyx_t_19 = 0; __pyx_t_21 = NULL; } else { __pyx_t_19 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_23); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_21 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5096, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_19); __Pyx_INCREF(__pyx_t_23); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5096, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_4, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_23 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_19); __Pyx_INCREF(__pyx_t_23); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5096, __pyx_L1_error) #else __pyx_t_23 = PySequence_ITEM(__pyx_t_4, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5096, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); #endif } } else { __pyx_t_23 = __pyx_t_21(__pyx_t_4); if (unlikely(!__pyx_t_23)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5096, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_23); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_23); __pyx_t_23 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5097: if yy == x.key:
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5097, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = PyObject_RichCompare(__pyx_v_yy, __pyx_t_23, Py_EQ); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5097, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5097, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { /* … */ }
+5098: paper_delivery = city_pump.give_paper_trade(total_paper, contract_list, wateryear, x.key)
__pyx_t_23 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_give_paper_trade); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_3 = PyFloat_FromDouble(__pyx_v_total_paper); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_22 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_23))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_23); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_23); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_23, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_3, __pyx_v_contract_list, __pyx_t_22, __pyx_t_9}; __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_23)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_t_3, __pyx_v_contract_list, __pyx_t_22, __pyx_t_9}; __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_23, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_18 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_18, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_18, 0+__pyx_t_6, __pyx_t_3); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_18, 1+__pyx_t_6, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_22); PyTuple_SET_ITEM(__pyx_t_18, 2+__pyx_t_6, __pyx_t_22); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_18, 3+__pyx_t_6, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_22 = 0; __pyx_t_9 = 0; __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_23, __pyx_t_18, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5098, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF_SET(__pyx_v_paper_delivery, __pyx_t_14); __pyx_t_14 = 0;
+5099: location_delivery -= paper_delivery
__pyx_t_14 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_23 = PyNumber_InPlaceSubtract(__pyx_t_14, __pyx_v_paper_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5099, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_23); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5099, __pyx_L1_error) __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_v_location_delivery = __pyx_t_28;
+5100: total_paper -= paper_delivery
__pyx_t_23 = PyFloat_FromDouble(__pyx_v_total_paper); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_14 = PyNumber_InPlaceSubtract(__pyx_t_23, __pyx_v_paper_delivery); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5100, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5100, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_total_paper = __pyx_t_28;
5101:
+5102: location_delivery -= x.recalfews_src_direct_delivery(location_delivery, wateryear)
__pyx_t_24 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_recalfews_src_direct_delivery); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_23 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_18 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_9 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_14); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_14, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_23, __pyx_t_18}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_23, __pyx_t_18}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; } else #endif { __pyx_t_22 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_22, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_22, 0+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_22, 1+__pyx_t_6, __pyx_t_18); __pyx_t_23 = 0; __pyx_t_18 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_22, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = PyNumber_InPlaceSubtract(__pyx_t_24, __pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_14); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5102, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_v_location_delivery = __pyx_t_28;
5103:
+5104: if x.has_private:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_has_private); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5104, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5104, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; if (__pyx_t_2) { /* … */ }
+5105: for city_pump in self.city_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_4 = __pyx_t_14; __Pyx_INCREF(__pyx_t_4); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_13 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5105, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_14); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5105, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_14); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5105, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5105, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_13(__pyx_t_4); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5105, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_city_pump, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5106: for yy in city_pump.district_list:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_district_list); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) { __pyx_t_24 = __pyx_t_14; __Pyx_INCREF(__pyx_t_24); __pyx_t_19 = 0; __pyx_t_21 = NULL; } else { __pyx_t_19 = -1; __pyx_t_24 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_24); __pyx_t_21 = Py_TYPE(__pyx_t_24)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5106, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_24))) { if (__pyx_t_19 >= PyList_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyList_GET_ITEM(__pyx_t_24, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5106, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_24, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } else { if (__pyx_t_19 >= PyTuple_GET_SIZE(__pyx_t_24)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_24, __pyx_t_19); __Pyx_INCREF(__pyx_t_14); __pyx_t_19++; if (unlikely(0 < 0)) __PYX_ERR(0, 5106, __pyx_L1_error) #else __pyx_t_14 = PySequence_ITEM(__pyx_t_24, __pyx_t_19); __pyx_t_19++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5106, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); #endif } } else { __pyx_t_14 = __pyx_t_21(__pyx_t_24); if (unlikely(!__pyx_t_14)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5106, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_14); } __Pyx_XDECREF_SET(__pyx_v_yy, __pyx_t_14); __pyx_t_14 = 0; /* … */ } __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0;
+5107: if yy == x.key:
__pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5107, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_22 = PyObject_RichCompare(__pyx_v_yy, __pyx_t_14, Py_EQ); __Pyx_XGOTREF(__pyx_t_22); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_22); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5107, __pyx_L1_error) __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; if (__pyx_t_2) { /* … */ }
+5108: location_delivery -= city_pump.recalfews_src_direct_delivery(location_delivery, wateryear, x.key)
__pyx_t_22 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_22)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_22); __pyx_t_18 = __Pyx_PyObject_GetAttrStr(__pyx_v_city_pump, __pyx_n_s_recalfews_src_direct_delivery); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __pyx_t_23 = PyFloat_FromDouble(__pyx_v_location_delivery); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_wateryear); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = NULL; __pyx_t_6 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_18))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_18); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_18); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_18, function); __pyx_t_6 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_23, __pyx_t_9, __pyx_t_3}; __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_18)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_23, __pyx_t_9, __pyx_t_3}; __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_18, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { __pyx_t_17 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_6, __pyx_t_23); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_6, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_6, __pyx_t_3); __pyx_t_23 = 0; __pyx_t_9 = 0; __pyx_t_3 = 0; __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_18, __pyx_t_17, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_t_18 = PyNumber_InPlaceSubtract(__pyx_t_22, __pyx_t_14); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_22); __pyx_t_22 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_28 = __pyx_PyFloat_AsDouble(__pyx_t_18); if (unlikely((__pyx_t_28 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 5108, __pyx_L1_error) __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __pyx_v_location_delivery = __pyx_t_28;
5109:
5110: #once all canal nodes have been searched, we can check to make sure the demands aren't bigger than the canal capacity, then adjust our demands
5111: #type_deliveries = canal.capacity_adjust_demand(starting_point, canal_range, flow_dir, type_list)
+5112: if search_type == 'recovery':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5112, __pyx_L1_error) __pyx_t_1 = (__pyx_t_2 != 0); if (__pyx_t_1) { /* … */ }
+5113: if canal.recovery_feeder:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_feeder); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 5113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_1) { /* … */ }
+5114: return type_deliveries
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_type_deliveries); __pyx_r = __pyx_v_type_deliveries; goto __pyx_L0;
5115: else:
+5116: for zz in type_deliveries:
/*else*/ {
__pyx_t_7 = 0;
__pyx_t_4 = __Pyx_dict_iterator(__pyx_v_type_deliveries, 1, ((PyObject *)NULL), (&__pyx_t_12), (&__pyx_t_6)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__pyx_t_5 = __pyx_t_4;
__pyx_t_4 = 0;
while (1) {
__pyx_t_20 = __Pyx_dict_iter_next(__pyx_t_5, __pyx_t_12, &__pyx_t_7, &__pyx_t_4, NULL, NULL, __pyx_t_6);
if (unlikely(__pyx_t_20 == 0)) break;
if (unlikely(__pyx_t_20 == -1)) __PYX_ERR(0, 5116, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4);
__pyx_t_4 = 0;
+5117: type_deliveries[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_type_deliveries, __pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5117, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5118: return type_deliveries
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_type_deliveries); __pyx_r = __pyx_v_type_deliveries; goto __pyx_L0; }
5119: else:
+5120: return type_deliveries
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_type_deliveries);
__pyx_r = __pyx_v_type_deliveries;
goto __pyx_L0;
}
5121:
5122:
5123:
+5124: def delivery_recovery(self, contract_list, canal, lookback_range, starting_point, paper_fractions, direct_recovery, flow_dir, type_list, priority_list, contract_canal, delivery_loc_name, dowy, wateryear):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_89delivery_recovery(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_89delivery_recovery = {"delivery_recovery", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_89delivery_recovery, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_89delivery_recovery(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_contract_list = 0;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_lookback_range = 0;
PyObject *__pyx_v_starting_point = 0;
PyObject *__pyx_v_paper_fractions = 0;
PyObject *__pyx_v_direct_recovery = 0;
PyObject *__pyx_v_flow_dir = 0;
PyObject *__pyx_v_type_list = 0;
PyObject *__pyx_v_priority_list = 0;
PyObject *__pyx_v_contract_canal = 0;
PyObject *__pyx_v_delivery_loc_name = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delivery_recovery (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_contract_list,&__pyx_n_s_canal,&__pyx_n_s_lookback_range,&__pyx_n_s_starting_point,&__pyx_n_s_paper_fractions,&__pyx_n_s_direct_recovery,&__pyx_n_s_flow_dir,&__pyx_n_s_type_list,&__pyx_n_s_priority_list,&__pyx_n_s_contract_canal,&__pyx_n_s_delivery_loc_name,&__pyx_n_s_dowy,&__pyx_n_s_wateryear,0};
PyObject* values[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
CYTHON_FALLTHROUGH;
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 1); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 2); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lookback_range)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 3); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_starting_point)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 4); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_paper_fractions)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 5); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_direct_recovery)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 6); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_flow_dir)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 7); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 8); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_priority_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 9); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 10); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 11:
if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_delivery_loc_name)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 11); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 12:
if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 12); __PYX_ERR(0, 5124, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 13:
if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, 13); __PYX_ERR(0, 5124, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delivery_recovery") < 0)) __PYX_ERR(0, 5124, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 14) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
values[13] = PyTuple_GET_ITEM(__pyx_args, 13);
}
__pyx_v_self = values[0];
__pyx_v_contract_list = values[1];
__pyx_v_canal = values[2];
__pyx_v_lookback_range = values[3];
__pyx_v_starting_point = values[4];
__pyx_v_paper_fractions = values[5];
__pyx_v_direct_recovery = values[6];
__pyx_v_flow_dir = values[7];
__pyx_v_type_list = values[8];
__pyx_v_priority_list = values[9];
__pyx_v_contract_canal = values[10];
__pyx_v_delivery_loc_name = values[11];
__pyx_v_dowy = values[12];
__pyx_v_wateryear = values[13];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("delivery_recovery", 1, 14, 14, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5124, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.delivery_recovery", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_88delivery_recovery(__pyx_self, __pyx_v_self, __pyx_v_contract_list, __pyx_v_canal, __pyx_v_lookback_range, __pyx_v_starting_point, __pyx_v_paper_fractions, __pyx_v_direct_recovery, __pyx_v_flow_dir, __pyx_v_type_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_delivery_loc_name, __pyx_v_dowy, __pyx_v_wateryear);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_88delivery_recovery(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_contract_list, PyObject *__pyx_v_canal, PyObject *__pyx_v_lookback_range, PyObject *__pyx_v_starting_point, PyObject *__pyx_v_paper_fractions, PyObject *__pyx_v_direct_recovery, PyObject *__pyx_v_flow_dir, PyObject *__pyx_v_type_list, PyObject *__pyx_v_priority_list, PyObject *__pyx_v_contract_canal, PyObject *__pyx_v_delivery_loc_name, PyObject *__pyx_v_dowy, PyObject *__pyx_v_wateryear) {
PyObject *__pyx_v_running_type_deliveries = NULL;
PyObject *__pyx_v_zz = NULL;
PyObject *__pyx_v_sum_deliveries = NULL;
PyObject *__pyx_v_lookback_loc = NULL;
PyObject *__pyx_v_existing_canal_space = NULL;
PyObject *__pyx_v_backtrack_range = NULL;
PyObject *__pyx_v_canal_backtrack = NULL;
PyObject *__pyx_v_new_flow = NULL;
PyObject *__pyx_v_available_flow = NULL;
PyObject *__pyx_v_total_paper = NULL;
long __pyx_v_toggle_district_recharge;
PyObject *__pyx_v_location_pumpout = NULL;
PyObject *__pyx_v_recovery_source = NULL;
PyObject *__pyx_v_search_type = NULL;
CYTHON_UNUSED PyObject *__pyx_v_max_current_release = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_num_members = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_demand_constraint = NULL;
PyObject *__pyx_v_deliveries = NULL;
PyObject *__pyx_v_priority_bank_space = NULL;
PyObject *__pyx_v_priorities = NULL;
PyObject *__pyx_v_priority_turnout_adjusted = NULL;
PyObject *__pyx_v_paper_amount = NULL;
PyObject *__pyx_v_direct_amount = NULL;
PyObject *__pyx_v_actual_delivery = NULL;
PyObject *__pyx_v_max_direct_recovery = NULL;
long __pyx_v_counter_toggle;
PyObject *__pyx_v_district_pump = NULL;
PyObject *__pyx_v_current_recovery = NULL;
PyObject *__pyx_v_new_flow_dir = NULL;
PyObject *__pyx_v_new_canal_size = NULL;
PyObject *__pyx_v_new_prev_canal = NULL;
PyObject *__pyx_v_new_lookback_range = NULL;
PyObject *__pyx_v_new_starting_point = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__71)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("delivery_recovery", 0);
__Pyx_TraceCall("delivery_recovery", __pyx_f[0], 5124, 0, __PYX_ERR(0, 5124, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_direct_recovery);
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_XDECREF(__pyx_t_17);
__Pyx_XDECREF(__pyx_t_19);
__Pyx_XDECREF(__pyx_t_24);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.delivery_recovery", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_running_type_deliveries);
__Pyx_XDECREF(__pyx_v_zz);
__Pyx_XDECREF(__pyx_v_sum_deliveries);
__Pyx_XDECREF(__pyx_v_lookback_loc);
__Pyx_XDECREF(__pyx_v_existing_canal_space);
__Pyx_XDECREF(__pyx_v_backtrack_range);
__Pyx_XDECREF(__pyx_v_canal_backtrack);
__Pyx_XDECREF(__pyx_v_new_flow);
__Pyx_XDECREF(__pyx_v_available_flow);
__Pyx_XDECREF(__pyx_v_total_paper);
__Pyx_XDECREF(__pyx_v_location_pumpout);
__Pyx_XDECREF(__pyx_v_recovery_source);
__Pyx_XDECREF(__pyx_v_search_type);
__Pyx_XDECREF(__pyx_v_max_current_release);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_num_members);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_demand_constraint);
__Pyx_XDECREF(__pyx_v_deliveries);
__Pyx_XDECREF(__pyx_v_priority_bank_space);
__Pyx_XDECREF(__pyx_v_priorities);
__Pyx_XDECREF(__pyx_v_priority_turnout_adjusted);
__Pyx_XDECREF(__pyx_v_paper_amount);
__Pyx_XDECREF(__pyx_v_direct_amount);
__Pyx_XDECREF(__pyx_v_actual_delivery);
__Pyx_XDECREF(__pyx_v_max_direct_recovery);
__Pyx_XDECREF(__pyx_v_district_pump);
__Pyx_XDECREF(__pyx_v_current_recovery);
__Pyx_XDECREF(__pyx_v_new_flow_dir);
__Pyx_XDECREF(__pyx_v_new_canal_size);
__Pyx_XDECREF(__pyx_v_new_prev_canal);
__Pyx_XDECREF(__pyx_v_new_lookback_range);
__Pyx_XDECREF(__pyx_v_new_starting_point);
__Pyx_XDECREF(__pyx_v_direct_recovery);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__133 = PyTuple_Pack(49, __pyx_n_s_self, __pyx_n_s_contract_list, __pyx_n_s_canal, __pyx_n_s_lookback_range, __pyx_n_s_starting_point, __pyx_n_s_paper_fractions, __pyx_n_s_direct_recovery, __pyx_n_s_flow_dir, __pyx_n_s_type_list, __pyx_n_s_priority_list, __pyx_n_s_contract_canal, __pyx_n_s_delivery_loc_name, __pyx_n_s_dowy, __pyx_n_s_wateryear, __pyx_n_s_running_type_deliveries, __pyx_n_s_zz, __pyx_n_s_sum_deliveries, __pyx_n_s_lookback_loc, __pyx_n_s_existing_canal_space, __pyx_n_s_backtrack_range, __pyx_n_s_canal_backtrack, __pyx_n_s_new_flow, __pyx_n_s_available_flow, __pyx_n_s_total_paper, __pyx_n_s_toggle_district_recharge, __pyx_n_s_location_pumpout, __pyx_n_s_recovery_source, __pyx_n_s_search_type, __pyx_n_s_max_current_release, __pyx_n_s_xx, __pyx_n_s_num_members, __pyx_n_s_wb_member, __pyx_n_s_demand_constraint, __pyx_n_s_deliveries, __pyx_n_s_priority_bank_space, __pyx_n_s_priorities, __pyx_n_s_priority_turnout_adjusted, __pyx_n_s_paper_amount, __pyx_n_s_direct_amount, __pyx_n_s_actual_delivery, __pyx_n_s_max_direct_recovery, __pyx_n_s_counter_toggle, __pyx_n_s_district_pump, __pyx_n_s_current_recovery, __pyx_n_s_new_flow_dir, __pyx_n_s_new_canal_size, __pyx_n_s_new_prev_canal, __pyx_n_s_new_lookback_range, __pyx_n_s_new_starting_point); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(0, 5124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__133);
__Pyx_GIVEREF(__pyx_tuple__133);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_89delivery_recovery, 0, __pyx_n_s_Model_delivery_recovery, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_delivery_recovery, __pyx_t_2) < 0) __PYX_ERR(0, 5124, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(14, 0, 49, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_delivery_recovery, 5124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 5124, __pyx_L1_error)
+5125: running_type_deliveries = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_running_type_deliveries = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+5126: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_1 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5126, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5126, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5126, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5126, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5127: running_type_deliveries[zz] = 0.0
if (unlikely(PyDict_SetItem(__pyx_v_running_type_deliveries, __pyx_v_zz, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5127, __pyx_L1_error)
5128:
+5129: sum_deliveries = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_sum_deliveries = __pyx_float_0_0;
+5130: for lookback_loc in lookback_range:
if (likely(PyList_CheckExact(__pyx_v_lookback_range)) || PyTuple_CheckExact(__pyx_v_lookback_range)) { __pyx_t_1 = __pyx_v_lookback_range; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lookback_range); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5130, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5130, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5130, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5130, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5130, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_lookback_loc, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5131: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_4 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5131, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5131, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5131, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5131, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5131, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5132: running_type_deliveries[zz] += canal.demand[zz][lookback_loc]
__Pyx_INCREF(__pyx_v_zz); __pyx_t_7 = __pyx_v_zz; __pyx_t_8 = __Pyx_PyDict_GetItem(__pyx_v_running_type_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_zz); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyDict_SetItem(__pyx_v_running_type_deliveries, __pyx_t_7, __pyx_t_10) < 0)) __PYX_ERR(0, 5132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5133: sum_deliveries += canal.demand[zz][lookback_loc]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_zz); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_v_sum_deliveries, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5133, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF_SET(__pyx_v_sum_deliveries, __pyx_t_10); __pyx_t_10 = 0;
+5134: existing_canal_space = canal.capacity[flow_dir][lookback_loc]*cfs_tafd - canal.flow[lookback_loc]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_capacity); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_flow_dir); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = PyNumber_Multiply(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Subtract(__pyx_t_7, __pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5134, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_existing_canal_space, __pyx_t_10); __pyx_t_10 = 0;
+5135: if sum_deliveries > existing_canal_space:
__pyx_t_10 = PyObject_RichCompare(__pyx_v_sum_deliveries, __pyx_v_existing_canal_space, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5135, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5135, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11) { /* … */ }
+5136: if flow_dir == "normal":
__pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_normal, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5136, __pyx_L1_error) if (__pyx_t_11) { /* … */ goto __pyx_L10; }
+5137: backtrack_range = range(starting_point, lookback_loc + 1)
__pyx_t_10 = __Pyx_PyInt_AddObjC(__pyx_v_lookback_loc, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_starting_point); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5137, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_backtrack_range, __pyx_t_10); __pyx_t_10 = 0;
+5138: elif flow_dir == "reverse":
__pyx_t_11 = (__Pyx_PyUnicode_Equals(__pyx_v_flow_dir, __pyx_n_u_reverse, Py_EQ)); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5138, __pyx_L1_error) if (__pyx_t_11) { /* … */ } __pyx_L10:;
+5139: backtrack_range = range(starting_point, lookback_loc - 1, -1)
__pyx_t_10 = __Pyx_PyInt_SubtractObjC(__pyx_v_lookback_loc, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_starting_point); __Pyx_GIVEREF(__pyx_v_starting_point); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_starting_point); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_10); __Pyx_INCREF(__pyx_int_neg_1); __Pyx_GIVEREF(__pyx_int_neg_1); PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_int_neg_1); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_4, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5139, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_XDECREF_SET(__pyx_v_backtrack_range, __pyx_t_10); __pyx_t_10 = 0;
+5140: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_10 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_10); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5140, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5140, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_10, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5140, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_10, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_6(__pyx_t_10); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5140, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+5141: for canal_backtrack in backtrack_range:
if (unlikely(!__pyx_v_backtrack_range)) { __Pyx_RaiseUnboundLocalError("backtrack_range"); __PYX_ERR(0, 5141, __pyx_L1_error) }
if (likely(PyList_CheckExact(__pyx_v_backtrack_range)) || PyTuple_CheckExact(__pyx_v_backtrack_range)) {
__pyx_t_4 = __pyx_v_backtrack_range; __Pyx_INCREF(__pyx_t_4); __pyx_t_12 = 0;
__pyx_t_13 = NULL;
} else {
__pyx_t_12 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_backtrack_range); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_13 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5141, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_13)) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5141, __pyx_L1_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
} else {
if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5141, __pyx_L1_error)
#else
__pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5141, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
}
} else {
__pyx_t_7 = __pyx_t_13(__pyx_t_4);
if (unlikely(!__pyx_t_7)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 5141, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_7);
}
__Pyx_XDECREF_SET(__pyx_v_canal_backtrack, __pyx_t_7);
__pyx_t_7 = 0;
/* … */
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5142: canal.recovery_flow_frac[zz][canal_backtrack] = min(max(min(existing_canal_space/running_type_deliveries[zz], 1.0), 0.0), canal.recovery_flow_frac[zz][canal_backtrack])
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_canal_backtrack); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_14 = 0.0; __pyx_t_15 = 1.0; __pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_running_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_v_existing_canal_space, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = PyObject_RichCompare(__pyx_t_16, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { __pyx_t_17 = PyFloat_FromDouble(__pyx_t_15); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = __pyx_t_17; __pyx_t_17 = 0; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_17 = PyFloat_FromDouble(__pyx_t_14); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = PyObject_RichCompare(__pyx_t_17, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_11) { __pyx_t_16 = PyFloat_FromDouble(__pyx_t_14); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_9 = __pyx_t_16; __pyx_t_16 = 0; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_16 = PyObject_RichCompare(__pyx_t_7, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_16); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5142, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_16); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_7); __pyx_t_9 = __pyx_t_7; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __pyx_t_9; __Pyx_INCREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_v_canal_backtrack, __pyx_t_7) < 0)) __PYX_ERR(0, 5142, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5143: new_flow = min(running_type_deliveries[zz], existing_canal_space)
__Pyx_INCREF(__pyx_v_existing_canal_space); __pyx_t_4 = __pyx_v_existing_canal_space; __pyx_t_7 = __Pyx_PyDict_GetItem(__pyx_v_running_type_deliveries, __pyx_v_zz); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_9 = PyObject_RichCompare(__pyx_t_4, __pyx_t_7, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5143, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = __pyx_t_4; } else { __Pyx_INCREF(__pyx_t_7); __pyx_t_8 = __pyx_t_7; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_8; __Pyx_INCREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_new_flow, __pyx_t_4); __pyx_t_4 = 0;
+5144: existing_canal_space -= new_flow
__pyx_t_4 = PyNumber_InPlaceSubtract(__pyx_v_existing_canal_space, __pyx_v_new_flow); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5144, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_existing_canal_space, __pyx_t_4); __pyx_t_4 = 0;
5145:
5146: #Loop back through the canal looking for waterbank sources to make paper trades with
+5147: available_flow = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_available_flow = __pyx_float_0_0;
+5148: total_paper = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_total_paper = __pyx_float_0_0;
+5149: toggle_district_recharge = 0
__pyx_v_toggle_district_recharge = 0;
+5150: for lookback_loc in lookback_range:
if (likely(PyList_CheckExact(__pyx_v_lookback_range)) || PyTuple_CheckExact(__pyx_v_lookback_range)) { __pyx_t_1 = __pyx_v_lookback_range; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_lookback_range); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5150, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_10); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5150, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_10); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5150, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5150, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5150, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_lookback_loc, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5151: location_pumpout = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_location_pumpout, __pyx_float_0_0);
+5152: recovery_source = self.canal_district[canal.name][lookback_loc]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5152, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_recovery_source, __pyx_t_4); __pyx_t_4 = 0;
+5153: search_type = "recovery"
__Pyx_INCREF(__pyx_n_u_recovery); __Pyx_XDECREF_SET(__pyx_v_search_type, __pyx_n_u_recovery);
+5154: max_current_release = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_max_current_release, __pyx_float_0_0);
+5155: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_4 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5155, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5155, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_8); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5155, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5155, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5155, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5156: max_current_release = canal.demand[zz][lookback_loc]*canal.recovery_flow_frac[zz][lookback_loc]
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_zz); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_zz); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF_SET(__pyx_v_max_current_release, __pyx_t_7); __pyx_t_7 = 0;
+5157: if recovery_source.is_District == 1:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_is_District); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5157, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5157, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L19; }
+5158: if recovery_source.in_leiu_banking:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5158, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5158, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_11) { /* … */ }
+5159: for xx in recovery_source.participant_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_4 = __pyx_t_7; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5159, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5159, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5159, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5159, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5159, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5160: num_members = self.district_keys_len[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5160, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_num_members, __pyx_t_10); __pyx_t_10 = 0;
+5161: if xx != recovery_source.key:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_key); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = PyObject_RichCompare(__pyx_v_xx, __pyx_t_10, Py_NE); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5161, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5161, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_11) { /* … */ }
+5162: for wb_member in self.district_keys[xx]:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (likely(PyList_CheckExact(__pyx_t_10)) || PyTuple_CheckExact(__pyx_t_10)) { __pyx_t_7 = __pyx_t_10; __Pyx_INCREF(__pyx_t_7); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5162, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5162, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_12); __Pyx_INCREF(__pyx_t_10); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5162, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_7, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5162, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_13(__pyx_t_7); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5162, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
5163: #find waterbank partner demand (i.e., recovery capacity of their ownership share)
+5164: demand_constraint = recovery_source.find_node_output()
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_10 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5164, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_constraint, __pyx_t_10); __pyx_t_10 = 0;
5165: #does this partner want recovery water?
+5166: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, recovery_source.inleiubanked[xx], recovery_source.inleiucap[xx], dowy, wateryear)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_xx); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_9, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_16, __pyx_t_17, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_9, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_16, __pyx_t_17, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } else #endif { __pyx_t_19 = PyTuple_New(7+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_18, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_18, __pyx_t_17); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_18, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_19, 6+__pyx_t_18, __pyx_v_wateryear); __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_19, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_deliveries, __pyx_t_10); __pyx_t_10 = 0;
5167: #what is their priority over the water/canal space?
+5168: priority_bank_space = recovery_source.find_leiu_priority_space(demand_constraint, num_members, xx, 0, search_type)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_leiu_priority_space); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_19 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[6] = {__pyx_t_19, __pyx_v_demand_constraint, __pyx_v_num_members, __pyx_v_xx, __pyx_int_0, __pyx_v_search_type}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 5+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5168, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[6] = {__pyx_t_19, __pyx_v_demand_constraint, __pyx_v_num_members, __pyx_v_xx, __pyx_int_0, __pyx_v_search_type}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 5+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5168, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_17 = PyTuple_New(5+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_18, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_18, __pyx_int_0); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_18, __pyx_v_search_type); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_17, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5168, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_priority_bank_space, __pyx_t_10); __pyx_t_10 = 0;
5169:
+5170: priorities = recovery_source.set_demand_priority("N/A", "N/A", priority_bank_space, deliveries, demand_constraint, search_type, "N/A")
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_17 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_17, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_kp_u_N_A}; __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5170, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_17, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_kp_u_N_A}; __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5170, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_10); } else #endif { __pyx_t_19 = PyTuple_New(7+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_kp_u_N_A); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_kp_u_N_A); __Pyx_INCREF(__pyx_v_priority_bank_space); __Pyx_GIVEREF(__pyx_v_priority_bank_space); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_v_priority_bank_space); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_18, __pyx_v_deliveries); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 6+__pyx_t_18, __pyx_kp_u_N_A); __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_19, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5170, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_priorities, __pyx_t_10); __pyx_t_10 = 0;
+5171: priority_turnout_adjusted = {}
__pyx_t_10 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5171, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_XDECREF_SET(__pyx_v_priority_turnout_adjusted, ((PyObject*)__pyx_t_10)); __pyx_t_10 = 0;
5172: #need to adjust the water request to account for the banking partner share of the turnout
+5173: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_10 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_10); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_21 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5173, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_20); __Pyx_INCREF(__pyx_t_8); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5173, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_20); __Pyx_INCREF(__pyx_t_8); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5173, __pyx_L1_error) #else __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); #endif } } else { __pyx_t_8 = __pyx_t_21(__pyx_t_10); if (unlikely(!__pyx_t_8)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5173, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_8); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_8); __pyx_t_8 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+5174: priority_turnout_adjusted[zz] = priorities[zz]*canal.turnout_frac[zz][lookback_loc]
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Multiply(__pyx_t_8, __pyx_t_19); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyDict_SetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz, __pyx_t_17) < 0)) __PYX_ERR(0, 5174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+5175: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_10 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_10); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_21 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5175, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_20); __Pyx_INCREF(__pyx_t_17); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5175, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_10, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_20); __Pyx_INCREF(__pyx_t_17); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5175, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_10, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5175, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } } else { __pyx_t_17 = __pyx_t_21(__pyx_t_10); if (unlikely(!__pyx_t_17)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5175, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_17); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
5176: #paper trade recovery is equal to
+5177: paper_amount = priority_turnout_adjusted[zz]*min(paper_fractions[zz], canal.recovery_flow_frac[zz][lookback_loc])
__pyx_t_17 = __Pyx_PyDict_GetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_paper_fractions, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyObject_RichCompare(__pyx_t_19, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5177, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_19); __pyx_t_16 = __pyx_t_19; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_16 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_17, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5177, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF_SET(__pyx_v_paper_amount, __pyx_t_19); __pyx_t_19 = 0;
+5178: direct_amount = min(direct_recovery, priority_turnout_adjusted[zz]*canal.recovery_flow_frac[zz][lookback_loc] - paper_amount)
__pyx_t_19 = __Pyx_PyDict_GetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = PyNumber_Multiply(__pyx_t_19, __pyx_t_16); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Subtract(__pyx_t_17, __pyx_v_paper_amount); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_INCREF(__pyx_v_direct_recovery); __pyx_t_17 = __pyx_v_direct_recovery; __pyx_t_8 = PyObject_RichCompare(__pyx_t_16, __pyx_t_17, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5178, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_19 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_17); __pyx_t_19 = __pyx_t_17; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __pyx_t_19; __Pyx_INCREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF_SET(__pyx_v_direct_amount, __pyx_t_16); __pyx_t_16 = 0;
+5179: recovery_source.adjust_recovery(paper_amount, xx, wateryear)
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_v_paper_amount, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5179, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_16); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_17, __pyx_v_paper_amount, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5179, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_16); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_paper_amount); __Pyx_GIVEREF(__pyx_v_paper_amount); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_paper_amount); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_8, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5179, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+5180: location_pumpout += paper_amount
__pyx_t_16 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_paper_amount); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5180, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_16); __pyx_t_16 = 0;
+5181: actual_delivery = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_actual_delivery, __pyx_float_0_0);
+5182: if delivery_loc_name == wb_member.key:
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_key); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5182, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_19 = PyObject_RichCompare(__pyx_v_delivery_loc_name, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5182, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L30; }
+5183: demand_constraint = recovery_source.find_node_output()
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_19 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_16); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5183, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_demand_constraint, __pyx_t_19); __pyx_t_19 = 0;
+5184: max_direct_recovery = min(demand_constraint, direct_amount, recovery_source.inleiubanked[xx]/num_members)
__Pyx_INCREF(__pyx_v_direct_amount); __pyx_t_19 = __pyx_v_direct_amount; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_v_num_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_v_demand_constraint); __pyx_t_8 = __pyx_v_demand_constraint; __pyx_t_9 = PyObject_RichCompare(__pyx_t_19, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5184, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_19); __pyx_t_17 = __pyx_t_19; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_17 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_17); __pyx_t_8 = __pyx_t_17; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_9 = PyObject_RichCompare(__pyx_t_16, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5184, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_17 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_17 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __pyx_t_17; __Pyx_INCREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_max_direct_recovery, __pyx_t_19); __pyx_t_19 = 0;
+5185: actual_delivery = wb_member.direct_delivery_bank(max_direct_recovery, wateryear)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_direct_delivery_bank); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 2+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 2+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5185, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_8 = PyTuple_New(2+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_max_direct_recovery); __Pyx_GIVEREF(__pyx_v_max_direct_recovery); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_max_direct_recovery); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_8, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5185, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF_SET(__pyx_v_actual_delivery, __pyx_t_19); __pyx_t_19 = 0;
+5186: direct_recovery -= actual_delivery
__pyx_t_19 = PyNumber_InPlaceSubtract(__pyx_v_direct_recovery, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_direct_recovery, __pyx_t_19); __pyx_t_19 = 0;
+5187: recovery_source.adjust_recovery(actual_delivery, xx, wateryear)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5187, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5187, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_16 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_actual_delivery); __Pyx_GIVEREF(__pyx_v_actual_delivery); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_actual_delivery); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5187, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5188: location_pumpout += actual_delivery
__pyx_t_19 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_19); __pyx_t_19 = 0;
+5189: elif wb_member.is_Private == 1:
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_is_Private); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyInt_EqObjC(__pyx_t_19, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5189, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5189, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L30; }
+5190: counter_toggle = 0
__pyx_v_counter_toggle = 0;
+5191: for district_pump in wb_member.district_list:
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_district_list); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (likely(PyList_CheckExact(__pyx_t_17)) || PyTuple_CheckExact(__pyx_t_17)) { __pyx_t_19 = __pyx_t_17; __Pyx_INCREF(__pyx_t_19); __pyx_t_22 = 0; __pyx_t_23 = NULL; } else { __pyx_t_22 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_23 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5191, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; for (;;) { if (likely(!__pyx_t_23)) { if (likely(PyList_CheckExact(__pyx_t_19))) { if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 5191, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_19, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } else { if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 5191, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_19, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5191, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } } else { __pyx_t_17 = __pyx_t_23(__pyx_t_19); if (unlikely(!__pyx_t_17)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5191, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_17); } __Pyx_XDECREF_SET(__pyx_v_district_pump, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5192: if delivery_loc_name == district_pump:
__pyx_t_17 = PyObject_RichCompare(__pyx_v_delivery_loc_name, __pyx_v_district_pump, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5192, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5192, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { /* … */ }
+5193: demand_constraint = recovery_source.find_node_output()
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); } } __pyx_t_17 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_16, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_16); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_demand_constraint, __pyx_t_17); __pyx_t_17 = 0;
+5194: max_direct_recovery = min(demand_constraint, direct_amount, recovery_source.inleiubanked[xx]/num_members)
__Pyx_INCREF(__pyx_v_direct_amount); __pyx_t_17 = __pyx_v_direct_amount; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_v_num_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_v_demand_constraint); __pyx_t_8 = __pyx_v_demand_constraint; __pyx_t_24 = PyObject_RichCompare(__pyx_t_17, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5194, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_24); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_17); __pyx_t_9 = __pyx_t_17; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_24 = PyObject_RichCompare(__pyx_t_16, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5194, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_24); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5194, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_9 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __pyx_t_9; __Pyx_INCREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_max_direct_recovery, __pyx_t_17); __pyx_t_17 = 0;
+5195: actual_delivery = wb_member.direct_delivery_bank(max_direct_recovery, wateryear, district_pump)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_direct_delivery_bank); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear, __pyx_v_district_pump}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5195, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear, __pyx_v_district_pump}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5195, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_max_direct_recovery); __Pyx_GIVEREF(__pyx_v_max_direct_recovery); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_max_direct_recovery); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_district_pump); __Pyx_GIVEREF(__pyx_v_district_pump); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_district_pump); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5195, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF_SET(__pyx_v_actual_delivery, __pyx_t_17); __pyx_t_17 = 0;
+5196: direct_recovery -= actual_delivery
__pyx_t_17 = PyNumber_InPlaceSubtract(__pyx_v_direct_recovery, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5196, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF_SET(__pyx_v_direct_recovery, __pyx_t_17); __pyx_t_17 = 0;
+5197: recovery_source.adjust_recovery(actual_delivery, xx, wateryear)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5197, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5197, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_16 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_actual_delivery); __Pyx_GIVEREF(__pyx_v_actual_delivery); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_actual_delivery); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_16, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5197, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+5198: location_pumpout += actual_delivery
__pyx_t_17 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5198, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_17); __pyx_t_17 = 0;
+5199: counter_toggle = 1
__pyx_v_counter_toggle = 1;
+5200: if counter_toggle == 0:
__pyx_t_11 = ((__pyx_v_counter_toggle == 0) != 0);
if (__pyx_t_11) {
/* … */
}
+5201: wb_member.get_paper_trade(paper_amount, contract_list, wateryear)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_get_paper_trade); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5201, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5201, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_paper_amount); __Pyx_GIVEREF(__pyx_v_paper_amount); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_paper_amount); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5201, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+5202: total_paper += paper_amount
__pyx_t_17 = PyNumber_InPlaceAdd(__pyx_v_total_paper, __pyx_v_paper_amount); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5202, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF_SET(__pyx_v_total_paper, __pyx_t_17); __pyx_t_17 = 0;
5203: else:
+5204: wb_member.get_paper_trade(paper_amount, contract_list, wateryear)
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_get_paper_trade); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_9 = NULL;
__pyx_t_18 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_17);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_17, function);
__pyx_t_18 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_17)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear};
__pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5204, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_19);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear};
__pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5204, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_19);
} else
#endif
{
__pyx_t_8 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __pyx_t_9 = NULL;
}
__Pyx_INCREF(__pyx_v_paper_amount);
__Pyx_GIVEREF(__pyx_v_paper_amount);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_paper_amount);
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_v_wateryear);
__Pyx_GIVEREF(__pyx_v_wateryear);
PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_wateryear);
__pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_8, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5204, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5205: total_paper += paper_amount
__pyx_t_19 = PyNumber_InPlaceAdd(__pyx_v_total_paper, __pyx_v_paper_amount); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_total_paper, __pyx_t_19); __pyx_t_19 = 0; } __pyx_L30:;
5206:
5207:
5208: #recalculate the 'recovery demand' at each waterbank
+5209: demand_constraint = recovery_source.find_node_output()
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_output); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_4 = (__pyx_t_10) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_10) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5209, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_constraint, __pyx_t_4); __pyx_t_4 = 0;
+5210: self.find_node_demand_district(recovery_source, canal, lookback_loc, demand_constraint, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list, toggle_district_recharge)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_district); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyInt_From_long(__pyx_v_toggle_district_recharge); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[13] = {__pyx_t_19, __pyx_v_recovery_source, __pyx_v_canal, __pyx_v_lookback_loc, __pyx_v_demand_constraint, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_10}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_18, 12+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[13] = {__pyx_t_19, __pyx_v_recovery_source, __pyx_v_canal, __pyx_v_lookback_loc, __pyx_v_demand_constraint, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list, __pyx_t_10}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_18, 12+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_17 = PyTuple_New(12+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_recovery_source); __Pyx_GIVEREF(__pyx_v_recovery_source); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_18, __pyx_v_recovery_source); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_18, __pyx_v_canal); __Pyx_INCREF(__pyx_v_lookback_loc); __Pyx_GIVEREF(__pyx_v_lookback_loc); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_18, __pyx_v_lookback_loc); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_17, 3+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_17, 4+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_17, 5+__pyx_t_18, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_17, 6+__pyx_t_18, __pyx_v_contract_canal); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_17, 7+__pyx_t_18, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_17, 8+__pyx_t_18, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_17, 9+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_17, 10+__pyx_t_18, __pyx_v_type_list); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_17, 11+__pyx_t_18, __pyx_t_10); __pyx_t_10 = 0; __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_17, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5210, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5211: canal.find_turnout_adjustment(demand_constraint, flow_dir, lookback_loc, type_list)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_17 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_17, __pyx_v_demand_constraint, __pyx_v_flow_dir, __pyx_v_lookback_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5211, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_17, __pyx_v_demand_constraint, __pyx_v_flow_dir, __pyx_v_lookback_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5211, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_10 = PyTuple_New(4+__pyx_t_18); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_18, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_lookback_loc); __Pyx_GIVEREF(__pyx_v_lookback_loc); PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_18, __pyx_v_lookback_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_10, 3+__pyx_t_18, __pyx_v_type_list); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5211, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5212:
+5213: elif recovery_source.is_Waterbank == 1:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_is_Waterbank); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5213, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L19; }
+5214: for xx in recovery_source.participant_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_4 = __pyx_t_7; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5214, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5214, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_7); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5214, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_6(__pyx_t_4); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5214, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5215: num_members = self.district_keys_len[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5215, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_num_members, __pyx_t_10); __pyx_t_10 = 0;
+5216: for wb_member in self.district_keys[xx]:
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_10 = __pyx_t_7; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0; __pyx_t_13 = NULL; } else { __pyx_t_12 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5216, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_13)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5216, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_7); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(0, 5216, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5216, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_13(__pyx_t_10); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5216, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
5217: #find waterbank partner demand (i.e., recovery capacity of their ownership share)
+5218: demand_constraint = recovery_source.find_node_demand(contract_list, xx, num_members, search_type)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5218, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5218, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_8 = PyTuple_New(4+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_18, __pyx_v_search_type); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_constraint, __pyx_t_7); __pyx_t_7 = 0;
5219: #does this partner want recovery water?
+5220: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, recovery_source.banked[xx], recovery_source.bank_cap[xx], dowy, wateryear)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_banked); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_bank_cap); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[8] = {__pyx_t_8, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_19, __pyx_t_9, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[8] = {__pyx_t_8, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_19, __pyx_t_9, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 7+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_16 = PyTuple_New(7+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_16, 3+__pyx_t_18, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 4+__pyx_t_18, __pyx_t_9); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_16, 5+__pyx_t_18, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 6+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = 0; __pyx_t_9 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5220, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_deliveries, __pyx_t_7); __pyx_t_7 = 0;
5221: #what is their priority over the water/canal space?
+5222: priority_bank_space = recovery_source.find_priority_space(num_members, xx, search_type)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_priority_space); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_num_members, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5222, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_num_members, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5222, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); } else #endif { __pyx_t_9 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_18, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_18, __pyx_v_search_type); __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5222, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_priority_bank_space, __pyx_t_7); __pyx_t_7 = 0;
+5223: priorities = recovery_source.set_demand_priority("NA", "N/A", priority_bank_space, deliveries, demand_constraint, search_type, "N/A", "N/A",wb_member.contract_list)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[10] = {__pyx_t_16, __pyx_n_u_NA, __pyx_kp_u_N_A, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_t_9}; __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 9+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[10] = {__pyx_t_16, __pyx_n_u_NA, __pyx_kp_u_N_A, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_kp_u_N_A, __pyx_kp_u_N_A, __pyx_t_9}; __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 9+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } else #endif { __pyx_t_19 = PyTuple_New(9+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_n_u_NA); __Pyx_GIVEREF(__pyx_n_u_NA); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_n_u_NA); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_kp_u_N_A); __Pyx_INCREF(__pyx_v_priority_bank_space); __Pyx_GIVEREF(__pyx_v_priority_bank_space); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_v_priority_bank_space); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_18, __pyx_v_deliveries); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 6+__pyx_t_18, __pyx_kp_u_N_A); __Pyx_INCREF(__pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_kp_u_N_A); PyTuple_SET_ITEM(__pyx_t_19, 7+__pyx_t_18, __pyx_kp_u_N_A); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_19, 8+__pyx_t_18, __pyx_t_9); __pyx_t_9 = 0; __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_19, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5223, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_priorities, __pyx_t_7); __pyx_t_7 = 0;
+5224: priority_turnout_adjusted = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF_SET(__pyx_v_priority_turnout_adjusted, ((PyObject*)__pyx_t_7)); __pyx_t_7 = 0;
5225:
5226:
5227: #need to adjust the water request to account for the banking partner share of the turnout
+5228: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_21 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5228, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_17); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5228, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_17); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5228, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } } else { __pyx_t_17 = __pyx_t_21(__pyx_t_7); if (unlikely(!__pyx_t_17)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5228, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_17); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5229: priority_turnout_adjusted[zz] = priorities[zz]*canal.turnout_frac[zz][lookback_loc]
__pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout_frac); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_17, __pyx_t_19); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyDict_SetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz, __pyx_t_9) < 0)) __PYX_ERR(0, 5229, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
5230: #finds how much water can be delivered through paper trades (exchange of GW recovery for stored SW)
5231: #and how much water can be delivered directly
5232: #canal.recovery_flow_frac is the adjustment needed if the bank runs into canal capacity constraints
+5233: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_7 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_7); __pyx_t_20 = 0; __pyx_t_21 = NULL; } else { __pyx_t_20 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_21 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_21)) __PYX_ERR(0, 5233, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_21)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_20 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_9); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5233, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } else { if (__pyx_t_20 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_20); __Pyx_INCREF(__pyx_t_9); __pyx_t_20++; if (unlikely(0 < 0)) __PYX_ERR(0, 5233, __pyx_L1_error) #else __pyx_t_9 = PySequence_ITEM(__pyx_t_7, __pyx_t_20); __pyx_t_20++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5233, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); #endif } } else { __pyx_t_9 = __pyx_t_21(__pyx_t_7); if (unlikely(!__pyx_t_9)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5233, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_9); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_9); __pyx_t_9 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5234: paper_amount = priority_turnout_adjusted[zz]*min(paper_fractions[zz], canal.recovery_flow_frac[zz][lookback_loc])
__pyx_t_9 = __Pyx_PyDict_GetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_t_19, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_17, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __Pyx_PyObject_GetItem(__pyx_v_paper_fractions, __pyx_v_zz); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_8 = PyObject_RichCompare(__pyx_t_19, __pyx_t_17, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5234, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_19); __pyx_t_16 = __pyx_t_19; } else { __Pyx_INCREF(__pyx_t_17); __pyx_t_16 = __pyx_t_17; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = PyNumber_Multiply(__pyx_t_9, __pyx_t_16); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5234, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_XDECREF_SET(__pyx_v_paper_amount, __pyx_t_19); __pyx_t_19 = 0;
+5235: direct_amount = min(direct_recovery, priority_turnout_adjusted[zz]*canal.recovery_flow_frac[zz][lookback_loc] - paper_amount)
__pyx_t_19 = __Pyx_PyDict_GetItem(__pyx_v_priority_turnout_adjusted, __pyx_v_zz); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_recovery_flow_frac); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_zz); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_v_lookback_loc); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Multiply(__pyx_t_19, __pyx_t_16); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Subtract(__pyx_t_9, __pyx_v_paper_amount); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_v_direct_recovery); __pyx_t_9 = __pyx_v_direct_recovery; __pyx_t_17 = PyObject_RichCompare(__pyx_t_16, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5235, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5235, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_19 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_19 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __pyx_t_19; __Pyx_INCREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF_SET(__pyx_v_direct_amount, __pyx_t_16); __pyx_t_16 = 0;
+5236: recovery_source.adjust_recovery(paper_amount, xx, wateryear)#adjust accounts
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_9 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_16 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5236, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_16); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_16 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5236, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_16); } else #endif { __pyx_t_17 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_17, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_paper_amount); __Pyx_GIVEREF(__pyx_v_paper_amount); PyTuple_SET_ITEM(__pyx_t_17, 0+__pyx_t_18, __pyx_v_paper_amount); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_17, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_17, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_17, NULL); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5236, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+5237: location_pumpout += paper_amount
__pyx_t_16 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_paper_amount); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_16); __pyx_t_16 = 0;
5238: #if the GW is being delivered to the WB owner, more water can be delivered (not constrained by
5239: #another district's willingness to trade SW storage)
+5240: if delivery_loc_name == wb_member.key:
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_key); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_19 = PyObject_RichCompare(__pyx_v_delivery_loc_name, __pyx_t_16, Py_EQ); __Pyx_XGOTREF(__pyx_t_19); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_19); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5240, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L43; }
+5241: demand_constraint = recovery_source.find_node_demand(contract_list, xx, num_members, search_type)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_17 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_17 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_17)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_17); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_17, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5241, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_17, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5241, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_9 = PyTuple_New(4+__pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_17) { __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_17); __pyx_t_17 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_18, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_9, 3+__pyx_t_18, __pyx_v_search_type); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_9, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_demand_constraint, __pyx_t_19); __pyx_t_19 = 0;
+5242: max_direct_recovery = min(demand_constraint, direct_amount, recovery_source.banked[xx]/num_members)
__Pyx_INCREF(__pyx_v_direct_amount); __pyx_t_19 = __pyx_v_direct_amount; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_banked); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_9, __pyx_v_num_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5242, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_v_demand_constraint); __pyx_t_9 = __pyx_v_demand_constraint; __pyx_t_8 = PyObject_RichCompare(__pyx_t_19, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5242, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_19); __pyx_t_17 = __pyx_t_19; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_17 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_INCREF(__pyx_t_17); __pyx_t_9 = __pyx_t_17; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_16, __pyx_t_9, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5242, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5242, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_17 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_9); __pyx_t_17 = __pyx_t_9; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_19 = __pyx_t_17; __Pyx_INCREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_max_direct_recovery, __pyx_t_19); __pyx_t_19 = 0;
+5243: actual_delivery = wb_member.direct_delivery_bank(max_direct_recovery, wateryear)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_direct_delivery_bank); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 2+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5243, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[3] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 2+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5243, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_9 = PyTuple_New(2+__pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_max_direct_recovery); __Pyx_GIVEREF(__pyx_v_max_direct_recovery); PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_18, __pyx_v_max_direct_recovery); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_9, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_XDECREF_SET(__pyx_v_actual_delivery, __pyx_t_19); __pyx_t_19 = 0;
+5244: direct_recovery -= actual_delivery
__pyx_t_19 = PyNumber_InPlaceSubtract(__pyx_v_direct_recovery, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_direct_recovery, __pyx_t_19); __pyx_t_19 = 0;
+5245: recovery_source.adjust_recovery(actual_delivery, xx, wateryear)
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5245, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5245, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_16 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_actual_delivery); __Pyx_GIVEREF(__pyx_v_actual_delivery); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_actual_delivery); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5246: location_pumpout += actual_delivery
__pyx_t_19 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5246, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_19); __pyx_t_19 = 0;
+5247: elif wb_member.is_Private == 1:
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_is_Private); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_17 = __Pyx_PyInt_EqObjC(__pyx_t_19, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5247, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { /* … */ goto __pyx_L43; }
+5248: counter_toggle = 0
__pyx_v_counter_toggle = 0;
+5249: for district_pump in wb_member.district_list:
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_district_list); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); if (likely(PyList_CheckExact(__pyx_t_17)) || PyTuple_CheckExact(__pyx_t_17)) { __pyx_t_19 = __pyx_t_17; __Pyx_INCREF(__pyx_t_19); __pyx_t_22 = 0; __pyx_t_23 = NULL; } else { __pyx_t_22 = -1; __pyx_t_19 = PyObject_GetIter(__pyx_t_17); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_23 = Py_TYPE(__pyx_t_19)->tp_iternext; if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 5249, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; for (;;) { if (likely(!__pyx_t_23)) { if (likely(PyList_CheckExact(__pyx_t_19))) { if (__pyx_t_22 >= PyList_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyList_GET_ITEM(__pyx_t_19, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 5249, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_19, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } else { if (__pyx_t_22 >= PyTuple_GET_SIZE(__pyx_t_19)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_17 = PyTuple_GET_ITEM(__pyx_t_19, __pyx_t_22); __Pyx_INCREF(__pyx_t_17); __pyx_t_22++; if (unlikely(0 < 0)) __PYX_ERR(0, 5249, __pyx_L1_error) #else __pyx_t_17 = PySequence_ITEM(__pyx_t_19, __pyx_t_22); __pyx_t_22++; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5249, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); #endif } } else { __pyx_t_17 = __pyx_t_23(__pyx_t_19); if (unlikely(!__pyx_t_17)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5249, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_17); } __Pyx_XDECREF_SET(__pyx_v_district_pump, __pyx_t_17); __pyx_t_17 = 0; /* … */ } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5250: if delivery_loc_name == district_pump:
__pyx_t_17 = PyObject_RichCompare(__pyx_v_delivery_loc_name, __pyx_v_district_pump, Py_EQ); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5250, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_17); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5250, __pyx_L1_error) __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; if (__pyx_t_11) { /* … */ }
+5251: demand_constraint = recovery_source.find_node_demand(contract_list, xx, num_members, search_type)
__pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_9 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_16))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_16); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_16); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_16, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5251, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_16)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_16, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5251, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_8 = PyTuple_New(4+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_8, 3+__pyx_t_18, __pyx_v_search_type); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_t_8, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5251, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF_SET(__pyx_v_demand_constraint, __pyx_t_17); __pyx_t_17 = 0;
+5252: max_direct_recovery = min(demand_constraint, direct_amount, recovery_source.banked[xx]/num_members)
__Pyx_INCREF(__pyx_v_direct_amount); __pyx_t_17 = __pyx_v_direct_amount; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_banked); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_v_num_members); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_v_demand_constraint); __pyx_t_8 = __pyx_v_demand_constraint; __pyx_t_24 = PyObject_RichCompare(__pyx_t_17, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5252, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_24); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5252, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_17); __pyx_t_9 = __pyx_t_17; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_INCREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_24 = PyObject_RichCompare(__pyx_t_16, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_24); if (unlikely(!__pyx_t_24)) __PYX_ERR(0, 5252, __pyx_L1_error) __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_24); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5252, __pyx_L1_error) __Pyx_DECREF(__pyx_t_24); __pyx_t_24 = 0; if (__pyx_t_11) { __Pyx_INCREF(__pyx_t_16); __pyx_t_9 = __pyx_t_16; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_9 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __pyx_t_17 = __pyx_t_9; __Pyx_INCREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_max_direct_recovery, __pyx_t_17); __pyx_t_17 = 0;
+5253: actual_delivery = wb_member.direct_delivery_bank(max_direct_recovery, wateryear, district_pump)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_direct_delivery_bank); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_16 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_16)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_16); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear, __pyx_v_district_pump}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5253, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_max_direct_recovery, __pyx_v_wateryear, __pyx_v_district_pump}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5253, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_8 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__pyx_t_16) { __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_16); __pyx_t_16 = NULL; } __Pyx_INCREF(__pyx_v_max_direct_recovery); __Pyx_GIVEREF(__pyx_v_max_direct_recovery); PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_18, __pyx_v_max_direct_recovery); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_18, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_district_pump); __Pyx_GIVEREF(__pyx_v_district_pump); PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_18, __pyx_v_district_pump); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_XDECREF_SET(__pyx_v_actual_delivery, __pyx_t_17); __pyx_t_17 = 0;
+5254: direct_recovery -= actual_delivery
__pyx_t_17 = PyNumber_InPlaceSubtract(__pyx_v_direct_recovery, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF_SET(__pyx_v_direct_recovery, __pyx_t_17); __pyx_t_17 = 0;
+5255: recovery_source.adjust_recovery(actual_delivery, xx, wateryear)
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_adjust_recovery); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_9, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5255, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) { PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_v_actual_delivery, __pyx_v_xx, __pyx_v_wateryear}; __pyx_t_17 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5255, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_17); } else #endif { __pyx_t_16 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_actual_delivery); __Pyx_GIVEREF(__pyx_v_actual_delivery); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_actual_delivery); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_xx); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_17 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_16, NULL); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
+5256: location_pumpout += actual_delivery
__pyx_t_17 = PyNumber_InPlaceAdd(__pyx_v_location_pumpout, __pyx_v_actual_delivery); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_17); __pyx_t_17 = 0;
+5257: counter_toggle = 1
__pyx_v_counter_toggle = 1;
+5258: if counter_toggle == 0:
__pyx_t_11 = ((__pyx_v_counter_toggle == 0) != 0);
if (__pyx_t_11) {
/* … */
}
+5259: wb_member.get_paper_trade(paper_amount, contract_list, wateryear)#exchange GW for SW
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_get_paper_trade); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __pyx_t_9 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_17); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_17, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5259, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear}; __pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5259, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_19); } else #endif { __pyx_t_16 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_paper_amount); __Pyx_GIVEREF(__pyx_v_paper_amount); PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_18, __pyx_v_paper_amount); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_16, 2+__pyx_t_18, __pyx_v_wateryear); __pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_16, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5259, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5260: total_paper += paper_amount
__pyx_t_19 = PyNumber_InPlaceAdd(__pyx_v_total_paper, __pyx_v_paper_amount); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_total_paper, __pyx_t_19); __pyx_t_19 = 0;
5261: else:
+5262: wb_member.get_paper_trade(paper_amount, contract_list, wateryear)#exchange GW for SW
/*else*/ {
__pyx_t_17 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_get_paper_trade); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5262, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_17);
__pyx_t_16 = NULL;
__pyx_t_18 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_17))) {
__pyx_t_16 = PyMethod_GET_SELF(__pyx_t_17);
if (likely(__pyx_t_16)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_17);
__Pyx_INCREF(__pyx_t_16);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_17, function);
__pyx_t_18 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_17)) {
PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear};
__pyx_t_19 = __Pyx_PyFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5262, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_GOTREF(__pyx_t_19);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_17)) {
PyObject *__pyx_temp[4] = {__pyx_t_16, __pyx_v_paper_amount, __pyx_v_contract_list, __pyx_v_wateryear};
__pyx_t_19 = __Pyx_PyCFunction_FastCall(__pyx_t_17, __pyx_temp+1-__pyx_t_18, 3+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5262, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_GOTREF(__pyx_t_19);
} else
#endif
{
__pyx_t_9 = PyTuple_New(3+__pyx_t_18); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5262, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_16) {
__Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_16); __pyx_t_16 = NULL;
}
__Pyx_INCREF(__pyx_v_paper_amount);
__Pyx_GIVEREF(__pyx_v_paper_amount);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_18, __pyx_v_paper_amount);
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_18, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_v_wateryear);
__Pyx_GIVEREF(__pyx_v_wateryear);
PyTuple_SET_ITEM(__pyx_t_9, 2+__pyx_t_18, __pyx_v_wateryear);
__pyx_t_19 = __Pyx_PyObject_Call(__pyx_t_17, __pyx_t_9, NULL); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5262, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_19);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
__Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0;
+5263: total_paper += paper_amount
__pyx_t_19 = PyNumber_InPlaceAdd(__pyx_v_total_paper, __pyx_v_paper_amount); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF_SET(__pyx_v_total_paper, __pyx_t_19); __pyx_t_19 = 0; } __pyx_L43:;
5264:
5265: #recalculate the 'recovery demand' at each waterbank
+5266: self.find_node_demand_bank(recovery_source, canal, lookback_loc, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_node_demand_bank); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[11] = {__pyx_t_7, __pyx_v_recovery_source, __pyx_v_canal, __pyx_v_lookback_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 10+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5266, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[11] = {__pyx_t_7, __pyx_v_recovery_source, __pyx_v_canal, __pyx_v_lookback_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 10+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5266, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_19 = PyTuple_New(10+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_recovery_source); __Pyx_GIVEREF(__pyx_v_recovery_source); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_v_recovery_source); __Pyx_INCREF(__pyx_v_canal); __Pyx_GIVEREF(__pyx_v_canal); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_v_canal); __Pyx_INCREF(__pyx_v_lookback_loc); __Pyx_GIVEREF(__pyx_v_lookback_loc); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_v_lookback_loc); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_18, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_19, 5+__pyx_t_18, __pyx_v_contract_canal); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_19, 6+__pyx_t_18, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_19, 7+__pyx_t_18, __pyx_v_wateryear); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_19, 8+__pyx_t_18, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_19, 9+__pyx_t_18, __pyx_v_type_list); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_19, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5267: current_recovery = 0.0
__Pyx_INCREF(__pyx_float_0_0); __Pyx_XDECREF_SET(__pyx_v_current_recovery, __pyx_float_0_0);
+5268: for xx in recovery_source.participant_list:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_10 = __pyx_t_4; __Pyx_INCREF(__pyx_t_10); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { __pyx_t_5 = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_6 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5268, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_10))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5268, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_10, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_10)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_5); __Pyx_INCREF(__pyx_t_4); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 5268, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_10, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_6(__pyx_t_10); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5268, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+5269: current_recovery += recovery_source.recovery_use[xx]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_recovery_use); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_current_recovery, __pyx_t_19); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF_SET(__pyx_v_current_recovery, __pyx_t_4); __pyx_t_4 = 0;
+5270: demand_constraint = recovery_source.recovery - current_recovery
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_recovery); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = PyNumber_Subtract(__pyx_t_10, __pyx_v_current_recovery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5270, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_constraint, __pyx_t_4); __pyx_t_4 = 0;
+5271: canal.find_turnout_adjustment(demand_constraint, flow_dir, lookback_loc, type_list)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_find_turnout_adjustment); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_19 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_19)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_demand_constraint, __pyx_v_flow_dir, __pyx_v_lookback_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5271, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[5] = {__pyx_t_19, __pyx_v_demand_constraint, __pyx_v_flow_dir, __pyx_v_lookback_loc, __pyx_v_type_list}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 4+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5271, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(4+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_19) { __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_19); __pyx_t_19 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_18, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_flow_dir); __Pyx_GIVEREF(__pyx_v_flow_dir); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_18, __pyx_v_flow_dir); __Pyx_INCREF(__pyx_v_lookback_loc); __Pyx_GIVEREF(__pyx_v_lookback_loc); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_18, __pyx_v_lookback_loc); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_18, __pyx_v_type_list); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5272:
+5273: elif recovery_source.is_Canal == 1:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_is_Canal); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_10 = __Pyx_PyInt_EqObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_11 < 0)) __PYX_ERR(0, 5273, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_11) { /* … */ } __pyx_L19:;
+5274: new_flow_dir = canal.flow_directions['recovery'][recovery_source.name]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_recovery); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_new_flow_dir, __pyx_t_7); __pyx_t_7 = 0;
+5275: new_canal_size = self.canal_district_len[recovery_source.name]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_canal_district_len); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_recovery_source, __pyx_n_s_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_10); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5275, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_new_canal_size, __pyx_t_4); __pyx_t_4 = 0;
+5276: new_prev_canal = canal.key
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_key); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5276, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_XDECREF_SET(__pyx_v_new_prev_canal, __pyx_t_4); __pyx_t_4 = 0;
+5277: new_lookback_range, new_starting_point = self.set_canal_range(new_flow_dir, 'recovery', recovery_source, new_prev_canal, new_canal_size)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_set_canal_range); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_7 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_new_flow_dir, __pyx_n_u_recovery, __pyx_v_recovery_source, __pyx_v_new_prev_canal, __pyx_v_new_canal_size}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 5+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_7, __pyx_v_new_flow_dir, __pyx_n_u_recovery, __pyx_v_recovery_source, __pyx_v_new_prev_canal, __pyx_v_new_canal_size}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_18, 5+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_19 = PyTuple_New(5+__pyx_t_18); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_19, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_new_flow_dir); __Pyx_GIVEREF(__pyx_v_new_flow_dir); PyTuple_SET_ITEM(__pyx_t_19, 0+__pyx_t_18, __pyx_v_new_flow_dir); __Pyx_INCREF(__pyx_n_u_recovery); __Pyx_GIVEREF(__pyx_n_u_recovery); PyTuple_SET_ITEM(__pyx_t_19, 1+__pyx_t_18, __pyx_n_u_recovery); __Pyx_INCREF(__pyx_v_recovery_source); __Pyx_GIVEREF(__pyx_v_recovery_source); PyTuple_SET_ITEM(__pyx_t_19, 2+__pyx_t_18, __pyx_v_recovery_source); __Pyx_INCREF(__pyx_v_new_prev_canal); __Pyx_GIVEREF(__pyx_v_new_prev_canal); PyTuple_SET_ITEM(__pyx_t_19, 3+__pyx_t_18, __pyx_v_new_prev_canal); __Pyx_INCREF(__pyx_v_new_canal_size); __Pyx_GIVEREF(__pyx_v_new_canal_size); PyTuple_SET_ITEM(__pyx_t_19, 4+__pyx_t_18, __pyx_v_new_canal_size); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_19, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 5277, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_10 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_19 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_10 = PyList_GET_ITEM(sequence, 0); __pyx_t_19 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_19); #else __pyx_t_10 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_25 = Py_TYPE(__pyx_t_7)->tp_iternext; index = 0; __pyx_t_10 = __pyx_t_25(__pyx_t_7); if (unlikely(!__pyx_t_10)) goto __pyx_L50_unpacking_failed; __Pyx_GOTREF(__pyx_t_10); index = 1; __pyx_t_19 = __pyx_t_25(__pyx_t_7); if (unlikely(!__pyx_t_19)) goto __pyx_L50_unpacking_failed; __Pyx_GOTREF(__pyx_t_19); if (__Pyx_IternextUnpackEndCheck(__pyx_t_25(__pyx_t_7), 2) < 0) __PYX_ERR(0, 5277, __pyx_L1_error) __pyx_t_25 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L51_unpacking_done; __pyx_L50_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_25 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 5277, __pyx_L1_error) __pyx_L51_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_new_lookback_range, __pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_new_starting_point, __pyx_t_19); __pyx_t_19 = 0;
+5278: location_pumpout, paper_amount = self.delivery_recovery(contract_list, recovery_source, new_lookback_range, new_starting_point, paper_fractions, direct_recovery, new_flow_dir, type_list, priority_list, contract_canal, delivery_loc_name, dowy, wateryear)
__pyx_t_19 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delivery_recovery); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_10 = NULL; __pyx_t_18 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_19))) { __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_19); if (likely(__pyx_t_10)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_19); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_19, function); __pyx_t_18 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[14] = {__pyx_t_10, __pyx_v_contract_list, __pyx_v_recovery_source, __pyx_v_new_lookback_range, __pyx_v_new_starting_point, __pyx_v_paper_fractions, __pyx_v_direct_recovery, __pyx_v_new_flow_dir, __pyx_v_type_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_delivery_loc_name, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 13+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_19)) { PyObject *__pyx_temp[14] = {__pyx_t_10, __pyx_v_contract_list, __pyx_v_recovery_source, __pyx_v_new_lookback_range, __pyx_v_new_starting_point, __pyx_v_paper_fractions, __pyx_v_direct_recovery, __pyx_v_new_flow_dir, __pyx_v_type_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_delivery_loc_name, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_19, __pyx_temp+1-__pyx_t_18, 13+__pyx_t_18); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); } else #endif { __pyx_t_7 = PyTuple_New(13+__pyx_t_18); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_10); __pyx_t_10 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_18, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_recovery_source); __Pyx_GIVEREF(__pyx_v_recovery_source); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_18, __pyx_v_recovery_source); __Pyx_INCREF(__pyx_v_new_lookback_range); __Pyx_GIVEREF(__pyx_v_new_lookback_range); PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_18, __pyx_v_new_lookback_range); __Pyx_INCREF(__pyx_v_new_starting_point); __Pyx_GIVEREF(__pyx_v_new_starting_point); PyTuple_SET_ITEM(__pyx_t_7, 3+__pyx_t_18, __pyx_v_new_starting_point); __Pyx_INCREF(__pyx_v_paper_fractions); __Pyx_GIVEREF(__pyx_v_paper_fractions); PyTuple_SET_ITEM(__pyx_t_7, 4+__pyx_t_18, __pyx_v_paper_fractions); __Pyx_INCREF(__pyx_v_direct_recovery); __Pyx_GIVEREF(__pyx_v_direct_recovery); PyTuple_SET_ITEM(__pyx_t_7, 5+__pyx_t_18, __pyx_v_direct_recovery); __Pyx_INCREF(__pyx_v_new_flow_dir); __Pyx_GIVEREF(__pyx_v_new_flow_dir); PyTuple_SET_ITEM(__pyx_t_7, 6+__pyx_t_18, __pyx_v_new_flow_dir); __Pyx_INCREF(__pyx_v_type_list); __Pyx_GIVEREF(__pyx_v_type_list); PyTuple_SET_ITEM(__pyx_t_7, 7+__pyx_t_18, __pyx_v_type_list); __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_7, 8+__pyx_t_18, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_7, 9+__pyx_t_18, __pyx_v_contract_canal); __Pyx_INCREF(__pyx_v_delivery_loc_name); __Pyx_GIVEREF(__pyx_v_delivery_loc_name); PyTuple_SET_ITEM(__pyx_t_7, 10+__pyx_t_18, __pyx_v_delivery_loc_name); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_7, 11+__pyx_t_18, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_7, 12+__pyx_t_18, __pyx_v_wateryear); __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_19, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) { PyObject* sequence = __pyx_t_4; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 5278, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_19 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_19 = PyList_GET_ITEM(sequence, 0); __pyx_t_7 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_19); __Pyx_INCREF(__pyx_t_7); #else __pyx_t_19 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } else { Py_ssize_t index = -1; __pyx_t_10 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_25 = Py_TYPE(__pyx_t_10)->tp_iternext; index = 0; __pyx_t_19 = __pyx_t_25(__pyx_t_10); if (unlikely(!__pyx_t_19)) goto __pyx_L52_unpacking_failed; __Pyx_GOTREF(__pyx_t_19); index = 1; __pyx_t_7 = __pyx_t_25(__pyx_t_10); if (unlikely(!__pyx_t_7)) goto __pyx_L52_unpacking_failed; __Pyx_GOTREF(__pyx_t_7); if (__Pyx_IternextUnpackEndCheck(__pyx_t_25(__pyx_t_10), 2) < 0) __PYX_ERR(0, 5278, __pyx_L1_error) __pyx_t_25 = NULL; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; goto __pyx_L53_unpacking_done; __pyx_L52_unpacking_failed:; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_25 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 5278, __pyx_L1_error) __pyx_L53_unpacking_done:; } __Pyx_DECREF_SET(__pyx_v_location_pumpout, __pyx_t_19); __pyx_t_19 = 0; __Pyx_XDECREF_SET(__pyx_v_paper_amount, __pyx_t_7); __pyx_t_7 = 0;
+5279: total_paper += paper_amount
__pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_total_paper, __pyx_v_paper_amount); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_total_paper, __pyx_t_4); __pyx_t_4 = 0;
5280:
+5281: available_flow += location_pumpout
__pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_available_flow, __pyx_v_location_pumpout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5281, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF_SET(__pyx_v_available_flow, __pyx_t_4); __pyx_t_4 = 0;
+5282: canal.turnout_use[lookback_loc] += location_pumpout
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_turnout_use); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_lookback_loc); __pyx_t_7 = __pyx_v_lookback_loc; __pyx_t_19 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_10 = PyNumber_InPlaceAdd(__pyx_t_19, __pyx_v_location_pumpout); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5282, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_t_7, __pyx_t_10) < 0)) __PYX_ERR(0, 5282, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5283: canal.flow[lookback_loc] += available_flow
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_flow); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_INCREF(__pyx_v_lookback_loc); __pyx_t_7 = __pyx_v_lookback_loc; __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_19 = PyNumber_InPlaceAdd(__pyx_t_10, __pyx_v_available_flow); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 5283, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_4, __pyx_t_7, __pyx_t_19) < 0)) __PYX_ERR(0, 5283, __pyx_L1_error) __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5284:
+5285: return available_flow, total_paper
__Pyx_XDECREF(__pyx_r); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5285, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_available_flow); __Pyx_GIVEREF(__pyx_v_available_flow); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_available_flow); __Pyx_INCREF(__pyx_v_total_paper); __Pyx_GIVEREF(__pyx_v_total_paper); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_total_paper); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0;
5286:
+5287: def find_node_demand_district(self, district_node, canal, canal_loc, demand_constraint, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list, toggle_district_recharge):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_91find_node_demand_district(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_91find_node_demand_district = {"find_node_demand_district", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_91find_node_demand_district, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_91find_node_demand_district(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_district_node = 0;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_canal_loc = 0;
PyObject *__pyx_v_demand_constraint = 0;
PyObject *__pyx_v_contract_list = 0;
PyObject *__pyx_v_priority_list = 0;
PyObject *__pyx_v_contract_canal = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_v_search_type = 0;
PyObject *__pyx_v_type_list = 0;
PyObject *__pyx_v_toggle_district_recharge = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_node_demand_district (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_district_node,&__pyx_n_s_canal,&__pyx_n_s_canal_loc,&__pyx_n_s_demand_constraint,&__pyx_n_s_contract_list,&__pyx_n_s_priority_list,&__pyx_n_s_contract_canal,&__pyx_n_s_dowy,&__pyx_n_s_wateryear,&__pyx_n_s_search_type,&__pyx_n_s_type_list,&__pyx_n_s_toggle_district_recharge,0};
PyObject* values[13] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
CYTHON_FALLTHROUGH;
case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
CYTHON_FALLTHROUGH;
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_district_node)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 1); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 2); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal_loc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 3); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_demand_constraint)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 4); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 5); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_priority_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 6); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 7); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 8); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 9); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_search_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 10); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 11:
if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 11); __PYX_ERR(0, 5287, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 12:
if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_toggle_district_recharge)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, 12); __PYX_ERR(0, 5287, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_node_demand_district") < 0)) __PYX_ERR(0, 5287, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 13) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
values[12] = PyTuple_GET_ITEM(__pyx_args, 12);
}
__pyx_v_self = values[0];
__pyx_v_district_node = values[1];
__pyx_v_canal = values[2];
__pyx_v_canal_loc = values[3];
__pyx_v_demand_constraint = values[4];
__pyx_v_contract_list = values[5];
__pyx_v_priority_list = values[6];
__pyx_v_contract_canal = values[7];
__pyx_v_dowy = values[8];
__pyx_v_wateryear = values[9];
__pyx_v_search_type = values[10];
__pyx_v_type_list = values[11];
__pyx_v_toggle_district_recharge = values[12];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_node_demand_district", 1, 13, 13, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5287, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_node_demand_district", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_90find_node_demand_district(__pyx_self, __pyx_v_self, __pyx_v_district_node, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_demand_constraint, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list, __pyx_v_toggle_district_recharge);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_90find_node_demand_district(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_district_node, PyObject *__pyx_v_canal, PyObject *__pyx_v_canal_loc, PyObject *__pyx_v_demand_constraint, PyObject *__pyx_v_contract_list, PyObject *__pyx_v_priority_list, PyObject *__pyx_v_contract_canal, PyObject *__pyx_v_dowy, PyObject *__pyx_v_wateryear, PyObject *__pyx_v_search_type, PyObject *__pyx_v_type_list, PyObject *__pyx_v_toggle_district_recharge) {
PyObject *__pyx_v_zz = NULL;
PyObject *__pyx_v_find_leiu_priority_space = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_num_members = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_deliveries = NULL;
PyObject *__pyx_v_priority_bank_space = NULL;
PyObject *__pyx_v_priorities = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__72)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_node_demand_district", 0);
__Pyx_TraceCall("find_node_demand_district", __pyx_f[0], 5287, 0, __PYX_ERR(0, 5287, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_node_demand_district", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_zz);
__Pyx_XDECREF(__pyx_v_find_leiu_priority_space);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_num_members);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_deliveries);
__Pyx_XDECREF(__pyx_v_priority_bank_space);
__Pyx_XDECREF(__pyx_v_priorities);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__134 = PyTuple_Pack(21, __pyx_n_s_self, __pyx_n_s_district_node, __pyx_n_s_canal, __pyx_n_s_canal_loc, __pyx_n_s_demand_constraint, __pyx_n_s_contract_list, __pyx_n_s_priority_list, __pyx_n_s_contract_canal, __pyx_n_s_dowy, __pyx_n_s_wateryear, __pyx_n_s_search_type, __pyx_n_s_type_list, __pyx_n_s_toggle_district_recharge, __pyx_n_s_zz, __pyx_n_s_find_leiu_priority_space, __pyx_n_s_xx, __pyx_n_s_num_members, __pyx_n_s_wb_member, __pyx_n_s_deliveries, __pyx_n_s_priority_bank_space, __pyx_n_s_priorities); if (unlikely(!__pyx_tuple__134)) __PYX_ERR(0, 5287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__134);
__Pyx_GIVEREF(__pyx_tuple__134);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_91find_node_demand_district, 0, __pyx_n_s_Model_find_node_demand_district, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_node_demand_district, __pyx_t_2) < 0) __PYX_ERR(0, 5287, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(13, 0, 21, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__134, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_node_demand_district, 5287, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 5287, __pyx_L1_error)
5288:
5289: #this function classifies the demand at a district node - 2 parts (i) find how much water district(s) want to apply and (ii) give each water request a priority
+5290: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_1 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5290, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5290, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5290, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5290, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5290, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5291: canal.demand[zz][canal_loc] = 0.0
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_zz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5291, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_canal_loc, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5291, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5292: #if a district is an in-leiu bank, partners can send water to this district for banking recharge
+5293: find_leiu_priority_space = district_node.find_leiu_priority_space
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_find_leiu_priority_space); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5293, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_find_leiu_priority_space = __pyx_t_1; __pyx_t_1 = 0;
+5294: if (district_node.in_leiu_banking and search_type == "banking") or (district_node.in_leiu_banking and search_type == "recovery"):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_7) { goto __pyx_L7_next_or; } else { } __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_banking, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5294, __pyx_L1_error) if (!__pyx_t_7) { } else { __pyx_t_6 = __pyx_t_7; goto __pyx_L6_bool_binop_done; } __pyx_L7_next_or:; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_in_leiu_banking); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5294, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_7) { } else { __pyx_t_6 = __pyx_t_7; goto __pyx_L6_bool_binop_done; } __pyx_t_7 = (__Pyx_PyUnicode_Equals(__pyx_v_search_type, __pyx_n_u_recovery, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5294, __pyx_L1_error) __pyx_t_6 = __pyx_t_7; __pyx_L6_bool_binop_done:; if (__pyx_t_6) { /* … */ goto __pyx_L5; }
+5295: for xx in district_node.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5295, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5295, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5295, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_3(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5295, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5296: num_members = self.district_keys_len[xx]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_num_members, __pyx_t_4); __pyx_t_4 = 0;
+5297: for wb_member in self.district_keys[xx]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5297, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 5297, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_1); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 5297, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5297, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5297, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5298: #find if the banking partner wants to bank
+5299: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, district_node.inleiubanked[xx], district_node.inleiucap[xx], dowy, wateryear)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_inleiubanked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_inleiucap); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_14 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_14 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[8] = {__pyx_t_11, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_12, __pyx_t_13, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[8] = {__pyx_t_11, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_12, __pyx_t_13, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else #endif { __pyx_t_15 = PyTuple_New(7+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_14, __pyx_t_13); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_14, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_15, 6+__pyx_t_14, __pyx_v_wateryear); __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_deliveries, __pyx_t_1); __pyx_t_1 = 0;
5300: #determine the priorities of the banking
+5301: priority_bank_space = find_leiu_priority_space(demand_constraint, num_members, xx, toggle_district_recharge, search_type)
__Pyx_INCREF(__pyx_v_find_leiu_priority_space); __pyx_t_10 = __pyx_v_find_leiu_priority_space; __pyx_t_15 = NULL; __pyx_t_14 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_14 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_15, __pyx_v_demand_constraint, __pyx_v_num_members, __pyx_v_xx, __pyx_v_toggle_district_recharge, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 5+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[6] = {__pyx_t_15, __pyx_v_demand_constraint, __pyx_v_num_members, __pyx_v_xx, __pyx_v_toggle_district_recharge, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 5+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5301, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_13 = PyTuple_New(5+__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_14, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_14, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_14, __pyx_v_xx); __Pyx_INCREF(__pyx_v_toggle_district_recharge); __Pyx_GIVEREF(__pyx_v_toggle_district_recharge); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_14, __pyx_v_toggle_district_recharge); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_14, __pyx_v_search_type); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_priority_bank_space, __pyx_t_1); __pyx_t_1 = 0;
+5302: priorities = wb_member.set_demand_priority(priority_list, contract_list, priority_bank_space, deliveries, demand_constraint, search_type, contract_canal)
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = NULL; __pyx_t_14 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); __pyx_t_14 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[8] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5302, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[8] = {__pyx_t_13, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5302, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_15 = PyTuple_New(7+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_bank_space); __Pyx_GIVEREF(__pyx_v_priority_bank_space); PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_v_priority_bank_space); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_v_deliveries); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_14, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_14, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_15, 6+__pyx_t_14, __pyx_v_contract_canal); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_15, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5302, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_XDECREF_SET(__pyx_v_priorities, __pyx_t_1); __pyx_t_1 = 0;
5303:
+5304: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_1 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_16 = 0; __pyx_t_17 = NULL; } else { __pyx_t_16 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_17 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 5304, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_17)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_16 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 5304, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } else { if (__pyx_t_16 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_10 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_16); __Pyx_INCREF(__pyx_t_10); __pyx_t_16++; if (unlikely(0 < 0)) __PYX_ERR(0, 5304, __pyx_L1_error) #else __pyx_t_10 = PySequence_ITEM(__pyx_t_1, __pyx_t_16); __pyx_t_16++; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5304, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); #endif } } else { __pyx_t_10 = __pyx_t_17(__pyx_t_1); if (unlikely(!__pyx_t_10)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5304, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_10); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_10); __pyx_t_10 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5305: canal.demand[zz][canal_loc] += priorities[zz]
__pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_zz); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_INCREF(__pyx_v_canal_loc); __pyx_t_10 = __pyx_v_canal_loc; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_10, __pyx_t_11) < 0)) __PYX_ERR(0, 5305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
5306: #can't purchase more than the turnout capacity
5307:
5308: else:
+5309: deliveries = district_node.set_request_constraints(demand_constraint, search_type, contract_list, 0.0, 999.0, dowy, wateryear)
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = NULL;
__pyx_t_14 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_14 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_float_999_0, __pyx_v_dowy, __pyx_v_wateryear};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5309, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[8] = {__pyx_t_1, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_float_0_0, __pyx_float_999_0, __pyx_v_dowy, __pyx_v_wateryear};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5309, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_15 = PyTuple_New(7+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_v_demand_constraint);
__Pyx_GIVEREF(__pyx_v_demand_constraint);
PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_14, __pyx_v_demand_constraint);
__Pyx_INCREF(__pyx_v_search_type);
__Pyx_GIVEREF(__pyx_v_search_type);
PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_v_search_type);
__Pyx_INCREF(__pyx_v_contract_list);
__Pyx_GIVEREF(__pyx_v_contract_list);
PyTuple_SET_ITEM(__pyx_t_15, 2+__pyx_t_14, __pyx_v_contract_list);
__Pyx_INCREF(__pyx_float_0_0);
__Pyx_GIVEREF(__pyx_float_0_0);
PyTuple_SET_ITEM(__pyx_t_15, 3+__pyx_t_14, __pyx_float_0_0);
__Pyx_INCREF(__pyx_float_999_0);
__Pyx_GIVEREF(__pyx_float_999_0);
PyTuple_SET_ITEM(__pyx_t_15, 4+__pyx_t_14, __pyx_float_999_0);
__Pyx_INCREF(__pyx_v_dowy);
__Pyx_GIVEREF(__pyx_v_dowy);
PyTuple_SET_ITEM(__pyx_t_15, 5+__pyx_t_14, __pyx_v_dowy);
__Pyx_INCREF(__pyx_v_wateryear);
__Pyx_GIVEREF(__pyx_v_wateryear);
PyTuple_SET_ITEM(__pyx_t_15, 6+__pyx_t_14, __pyx_v_wateryear);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_deliveries = __pyx_t_5;
__pyx_t_5 = 0;
5310: #find what priority district has for flow purchases
+5311: priorities = district_node.set_demand_priority(priority_list, contract_list, demand_constraint, deliveries, demand_constraint, search_type, contract_canal)
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_node, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_15 = NULL; __pyx_t_14 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4); if (likely(__pyx_t_15)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); __Pyx_INCREF(__pyx_t_15); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_4, function); __pyx_t_14 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_15, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_demand_constraint, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5311, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[8] = {__pyx_t_15, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_demand_constraint, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal}; __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_14, 7+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5311, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_5); } else #endif { __pyx_t_1 = PyTuple_New(7+__pyx_t_14); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_15); __pyx_t_15 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_14, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_14, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_1, 2+__pyx_t_14, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_1, 3+__pyx_t_14, __pyx_v_deliveries); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_1, 4+__pyx_t_14, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_1, 5+__pyx_t_14, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_1, 6+__pyx_t_14, __pyx_v_contract_canal); __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_priorities = __pyx_t_5; __pyx_t_5 = 0;
5312:
+5313: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_5 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5313, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5313, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5313, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_5); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5313, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L5:;
+5314: canal.demand[zz][canal_loc] += priorities[zz]
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_zz); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_INCREF(__pyx_v_canal_loc); __pyx_t_4 = __pyx_v_canal_loc; __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_10 = __Pyx_PyObject_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = PyNumber_InPlaceAdd(__pyx_t_15, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_t_4, __pyx_t_11) < 0)) __PYX_ERR(0, 5314, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5315:
+5316: def find_node_demand_bank(self, bank_node, canal, canal_loc, contract_list, priority_list, contract_canal, dowy, wateryear, search_type, type_list):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_93find_node_demand_bank(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_93find_node_demand_bank = {"find_node_demand_bank", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_93find_node_demand_bank, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_93find_node_demand_bank(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_bank_node = 0;
PyObject *__pyx_v_canal = 0;
PyObject *__pyx_v_canal_loc = 0;
PyObject *__pyx_v_contract_list = 0;
PyObject *__pyx_v_priority_list = 0;
PyObject *__pyx_v_contract_canal = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_v_search_type = 0;
PyObject *__pyx_v_type_list = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_node_demand_bank (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_bank_node,&__pyx_n_s_canal,&__pyx_n_s_canal_loc,&__pyx_n_s_contract_list,&__pyx_n_s_priority_list,&__pyx_n_s_contract_canal,&__pyx_n_s_dowy,&__pyx_n_s_wateryear,&__pyx_n_s_search_type,&__pyx_n_s_type_list,0};
PyObject* values[11] = {0,0,0,0,0,0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
CYTHON_FALLTHROUGH;
case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
CYTHON_FALLTHROUGH;
case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
CYTHON_FALLTHROUGH;
case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
CYTHON_FALLTHROUGH;
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bank_node)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 1); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 2); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_canal_loc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 3); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 4); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_priority_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 5); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 6:
if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_contract_canal)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 6); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 7:
if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 7); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 8:
if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 8); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 9:
if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_search_type)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 9); __PYX_ERR(0, 5316, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 10:
if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_type_list)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, 10); __PYX_ERR(0, 5316, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_node_demand_bank") < 0)) __PYX_ERR(0, 5316, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 11) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
}
__pyx_v_self = values[0];
__pyx_v_bank_node = values[1];
__pyx_v_canal = values[2];
__pyx_v_canal_loc = values[3];
__pyx_v_contract_list = values[4];
__pyx_v_priority_list = values[5];
__pyx_v_contract_canal = values[6];
__pyx_v_dowy = values[7];
__pyx_v_wateryear = values[8];
__pyx_v_search_type = values[9];
__pyx_v_type_list = values[10];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_node_demand_bank", 1, 11, 11, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5316, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_node_demand_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_92find_node_demand_bank(__pyx_self, __pyx_v_self, __pyx_v_bank_node, __pyx_v_canal, __pyx_v_canal_loc, __pyx_v_contract_list, __pyx_v_priority_list, __pyx_v_contract_canal, __pyx_v_dowy, __pyx_v_wateryear, __pyx_v_search_type, __pyx_v_type_list);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_92find_node_demand_bank(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_bank_node, PyObject *__pyx_v_canal, PyObject *__pyx_v_canal_loc, PyObject *__pyx_v_contract_list, PyObject *__pyx_v_priority_list, PyObject *__pyx_v_contract_canal, PyObject *__pyx_v_dowy, PyObject *__pyx_v_wateryear, PyObject *__pyx_v_search_type, PyObject *__pyx_v_type_list) {
PyObject *__pyx_v_zz = NULL;
PyObject *__pyx_v_find_node_demand = NULL;
PyObject *__pyx_v_find_priority_space = NULL;
PyObject *__pyx_v_set_demand_priority = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_num_members = NULL;
PyObject *__pyx_v_wb_member = NULL;
PyObject *__pyx_v_demand_constraint = NULL;
PyObject *__pyx_v_deliveries = NULL;
PyObject *__pyx_v_priority_bank_space = NULL;
PyObject *__pyx_v_priorities = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__73)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_node_demand_bank", 0);
__Pyx_TraceCall("find_node_demand_bank", __pyx_f[0], 5316, 0, __PYX_ERR(0, 5316, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_node_demand_bank", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_zz);
__Pyx_XDECREF(__pyx_v_find_node_demand);
__Pyx_XDECREF(__pyx_v_find_priority_space);
__Pyx_XDECREF(__pyx_v_set_demand_priority);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_num_members);
__Pyx_XDECREF(__pyx_v_wb_member);
__Pyx_XDECREF(__pyx_v_demand_constraint);
__Pyx_XDECREF(__pyx_v_deliveries);
__Pyx_XDECREF(__pyx_v_priority_bank_space);
__Pyx_XDECREF(__pyx_v_priorities);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__135 = PyTuple_Pack(22, __pyx_n_s_self, __pyx_n_s_bank_node, __pyx_n_s_canal, __pyx_n_s_canal_loc, __pyx_n_s_contract_list, __pyx_n_s_priority_list, __pyx_n_s_contract_canal, __pyx_n_s_dowy, __pyx_n_s_wateryear, __pyx_n_s_search_type, __pyx_n_s_type_list, __pyx_n_s_zz, __pyx_n_s_find_node_demand, __pyx_n_s_find_priority_space, __pyx_n_s_set_demand_priority, __pyx_n_s_xx, __pyx_n_s_num_members, __pyx_n_s_wb_member, __pyx_n_s_demand_constraint, __pyx_n_s_deliveries, __pyx_n_s_priority_bank_space, __pyx_n_s_priorities); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(0, 5316, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__135);
__Pyx_GIVEREF(__pyx_tuple__135);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_93find_node_demand_bank, 0, __pyx_n_s_Model_find_node_demand_bank, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__73)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5316, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_node_demand_bank, __pyx_t_2) < 0) __PYX_ERR(0, 5316, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__73 = (PyObject*)__Pyx_PyCode_New(11, 0, 22, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_node_demand_bank, 5316, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__73)) __PYX_ERR(0, 5316, __pyx_L1_error)
5317: #this function finds the total demand at a waterbank node - 3 parts (i) find total water that can be taken (ii) find how much water district(s) want to apply (iii) give each water request a priority
5318: #for waterbanks, we calculate the demands of each waterbank partner individually
+5319: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_1 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5319, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5319, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5319, __pyx_L1_error) #else __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5319, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } } else { __pyx_t_4 = __pyx_t_3(__pyx_t_1); if (unlikely(!__pyx_t_4)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5319, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_4); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_4); __pyx_t_4 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5320: canal.demand[zz][canal_loc] = 0.0
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_zz); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5320, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_canal_loc, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5320, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5321:
+5322: find_node_demand = bank_node.find_node_demand
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_find_node_demand); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5322, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_find_node_demand = __pyx_t_1; __pyx_t_1 = 0;
+5323: find_priority_space = bank_node.find_priority_space
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_find_priority_space); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5323, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_find_priority_space = __pyx_t_1; __pyx_t_1 = 0;
+5324: set_demand_priority = bank_node.set_demand_priority
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_set_demand_priority); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5324, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_set_demand_priority = __pyx_t_1; __pyx_t_1 = 0;
+5325: for xx in bank_node.participant_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_participant_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_2 = 0; __pyx_t_3 = NULL; } else { __pyx_t_2 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5325, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_3)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5325, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_2); __Pyx_INCREF(__pyx_t_1); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 5325, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5325, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_3(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5325, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5326: num_members = self.district_keys_len[xx]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys_len); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5326, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_num_members, __pyx_t_4); __pyx_t_4 = 0;
+5327: for wb_member in self.district_keys[xx]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_xx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5327, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 5327, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 5327, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5327, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_7(__pyx_t_4); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5327, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_wb_member, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5328: #find waterbank partner demand (i.e., recharge capacity of their ownership share)
+5329: demand_constraint = find_node_demand(contract_list, xx, num_members, search_type)
__Pyx_INCREF(__pyx_v_find_node_demand); __pyx_t_8 = __pyx_v_find_node_demand; __pyx_t_9 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5329, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[5] = {__pyx_t_9, __pyx_v_contract_list, __pyx_v_xx, __pyx_v_num_members, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 4+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5329, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_11 = PyTuple_New(4+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_xx); __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_10, __pyx_v_search_type); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_demand_constraint, __pyx_t_1); __pyx_t_1 = 0;
5330: #does this partner want to bank water?
+5331: deliveries = wb_member.set_request_constraints(demand_constraint, search_type, contract_list, bank_node.banked[xx], bank_node.bank_cap[xx], dowy, wateryear)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_set_request_constraints); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_banked); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_bank_node, __pyx_n_s_bank_cap); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_11, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_9, __pyx_t_12, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 7+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[8] = {__pyx_t_11, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_list, __pyx_t_9, __pyx_t_12, __pyx_v_dowy, __pyx_v_wateryear}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 7+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif { __pyx_t_13 = PyTuple_New(7+__pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_10, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_10, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_10, __pyx_v_contract_list); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_10, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 4+__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_13, 5+__pyx_t_10, __pyx_v_dowy); __Pyx_INCREF(__pyx_v_wateryear); __Pyx_GIVEREF(__pyx_v_wateryear); PyTuple_SET_ITEM(__pyx_t_13, 6+__pyx_t_10, __pyx_v_wateryear); __pyx_t_9 = 0; __pyx_t_12 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5331, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_deliveries, __pyx_t_1); __pyx_t_1 = 0;
5332: #deliveries = bank_node.set_request_constraints(demand_constraint, search_type, contract_list)
5333: #what is their priority over the water/canal space?
+5334: priority_bank_space = find_priority_space(num_members, xx, search_type)
__Pyx_INCREF(__pyx_v_find_priority_space); __pyx_t_8 = __pyx_v_find_priority_space; __pyx_t_13 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_13)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_13); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_num_members, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5334, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_v_num_members, __pyx_v_xx, __pyx_v_search_type}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_10, 3+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5334, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_12 = PyTuple_New(3+__pyx_t_10); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_13); __pyx_t_13 = NULL; } __Pyx_INCREF(__pyx_v_num_members); __Pyx_GIVEREF(__pyx_v_num_members); PyTuple_SET_ITEM(__pyx_t_12, 0+__pyx_t_10, __pyx_v_num_members); __Pyx_INCREF(__pyx_v_xx); __Pyx_GIVEREF(__pyx_v_xx); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_10, __pyx_v_xx); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_10, __pyx_v_search_type); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5334, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_priority_bank_space, __pyx_t_1); __pyx_t_1 = 0;
+5335: priorities = set_demand_priority(priority_list, contract_list, priority_bank_space, deliveries, demand_constraint, search_type, contract_canal, canal.name, wb_member.contract_list)
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_wb_member, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_INCREF(__pyx_v_set_demand_priority); __pyx_t_13 = __pyx_v_set_demand_priority; __pyx_t_9 = NULL; __pyx_t_10 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); __pyx_t_10 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[10] = {__pyx_t_9, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_12}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_10, 9+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) { PyObject *__pyx_temp[10] = {__pyx_t_9, __pyx_v_priority_list, __pyx_v_contract_list, __pyx_v_priority_bank_space, __pyx_v_deliveries, __pyx_v_demand_constraint, __pyx_v_search_type, __pyx_v_contract_canal, __pyx_t_8, __pyx_t_12}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_10, 9+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } else #endif { __pyx_t_11 = PyTuple_New(9+__pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; } __Pyx_INCREF(__pyx_v_priority_list); __Pyx_GIVEREF(__pyx_v_priority_list); PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_10, __pyx_v_priority_list); __Pyx_INCREF(__pyx_v_contract_list); __Pyx_GIVEREF(__pyx_v_contract_list); PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_10, __pyx_v_contract_list); __Pyx_INCREF(__pyx_v_priority_bank_space); __Pyx_GIVEREF(__pyx_v_priority_bank_space); PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_10, __pyx_v_priority_bank_space); __Pyx_INCREF(__pyx_v_deliveries); __Pyx_GIVEREF(__pyx_v_deliveries); PyTuple_SET_ITEM(__pyx_t_11, 3+__pyx_t_10, __pyx_v_deliveries); __Pyx_INCREF(__pyx_v_demand_constraint); __Pyx_GIVEREF(__pyx_v_demand_constraint); PyTuple_SET_ITEM(__pyx_t_11, 4+__pyx_t_10, __pyx_v_demand_constraint); __Pyx_INCREF(__pyx_v_search_type); __Pyx_GIVEREF(__pyx_v_search_type); PyTuple_SET_ITEM(__pyx_t_11, 5+__pyx_t_10, __pyx_v_search_type); __Pyx_INCREF(__pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_v_contract_canal); PyTuple_SET_ITEM(__pyx_t_11, 6+__pyx_t_10, __pyx_v_contract_canal); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 7+__pyx_t_10, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_11, 8+__pyx_t_10, __pyx_t_12); __pyx_t_8 = 0; __pyx_t_12 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5335, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_XDECREF_SET(__pyx_v_priorities, __pyx_t_1); __pyx_t_1 = 0;
5336: #take the individual priorities of waterbank members and add them to the total canal node demands
5337:
+5338: for zz in type_list:
if (likely(PyList_CheckExact(__pyx_v_type_list)) || PyTuple_CheckExact(__pyx_v_type_list)) { __pyx_t_1 = __pyx_v_type_list; __Pyx_INCREF(__pyx_t_1); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_type_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_15 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5338, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5338, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5338, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_1, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5338, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } } else { __pyx_t_13 = __pyx_t_15(__pyx_t_1); if (unlikely(!__pyx_t_13)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5338, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_13); } __Pyx_XDECREF_SET(__pyx_v_zz, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5339: canal.demand[zz][canal_loc] += priorities[zz]
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_canal, __pyx_n_s_demand); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_zz); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_INCREF(__pyx_v_canal_loc); __pyx_t_13 = __pyx_v_canal_loc; __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_11, __pyx_t_13); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_v_priorities, __pyx_v_zz); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = PyNumber_InPlaceAdd(__pyx_t_12, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (unlikely(PyObject_SetItem(__pyx_t_11, __pyx_t_13, __pyx_t_9) < 0)) __PYX_ERR(0, 5339, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
5340:
5341: #####################################################################################################################
5342: #####################################################################################################################
5343: #####################################################################################################################
5344:
5345:
5346:
5347: #####################################################################################################################
5348: #####################################################################################################################
5349: #####################################################################################################################
5350:
5351:
5352: #####################################################################################################################
5353: ############################### Miscellaneous Functions Within Simulation ###############################
5354: #####################################################################################################################
+5355: def set_regulations_current_south(self, scenario):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_95set_regulations_current_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_95set_regulations_current_south = {"set_regulations_current_south", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_95set_regulations_current_south, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_95set_regulations_current_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_current_south (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scenario,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_regulations_current_south", 1, 2, 2, 1); __PYX_ERR(0, 5355, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_regulations_current_south") < 0)) __PYX_ERR(0, 5355, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_scenario = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_regulations_current_south", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5355, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_current_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_94set_regulations_current_south(__pyx_self, __pyx_v_self, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_94set_regulations_current_south(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_scenario) {
PyObject *__pyx_v_xnum = NULL;
CYTHON_UNUSED double __pyx_v_tot_contract;
PyObject *__pyx_v_district = NULL;
PyObject *__pyx_v_waterbanks = NULL;
Py_ssize_t __pyx_v_x;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__74)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_current_south", 0);
__Pyx_TraceCall("set_regulations_current_south", __pyx_f[0], 5355, 0, __PYX_ERR(0, 5355, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_current_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_xnum);
__Pyx_XDECREF(__pyx_v_district);
__Pyx_XDECREF(__pyx_v_waterbanks);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__136 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_scenario, __pyx_n_s_xnum, __pyx_n_s_tot_contract, __pyx_n_s_district, __pyx_n_s_waterbanks, __pyx_n_s_x); if (unlikely(!__pyx_tuple__136)) __PYX_ERR(0, 5355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__136);
__Pyx_GIVEREF(__pyx_tuple__136);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_95set_regulations_current_south, 0, __pyx_n_s_Model_set_regulations_current_so, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_regulations_current_south, __pyx_t_2) < 0) __PYX_ERR(0, 5355, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__136, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_regulations_current_south, 5355, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 5355, __pyx_L1_error)
+5356: self.semitropic.leiu_recovery = 0.7945
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5356, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_leiu_recovery, __pyx_float_0_7945) < 0) __PYX_ERR(0, 5356, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5357: self.isabella.capacity = 361.25
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5357, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_capacity, __pyx_float_361_25) < 0) __PYX_ERR(0, 5357, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5358: self.isabella.tocs_rule['storage'] = [[302.6,170,170,245,245,361.25,361.25,302.6], [302.6,170,170,245,245,361.25,361.25,302.6]]
__pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_float_302_6); __pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_2, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_2, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 7, __pyx_float_302_6); __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_storage, __pyx_t_3) < 0)) __PYX_ERR(0, 5358, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5359: self.poso.initial_recharge = 420.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5359, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_initial_recharge, __pyx_float_420_0) < 0) __PYX_ERR(0, 5359, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5360: self.poso.recovery = 0.6942
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5360, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_recovery, __pyx_float_0_6942) < 0) __PYX_ERR(0, 5360, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5361: self.poso.tot_storage = 2.1
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5361, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_tot_storage, __pyx_float_2_1) < 0) __PYX_ERR(0, 5361, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5362: self.irvineranch.initial_recharge = 300.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5362, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_initial_recharge, __pyx_float_300_0) < 0) __PYX_ERR(0, 5362, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5363: self.irvineranch.recovery = 0.0479
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5363, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_recovery, __pyx_float_0_0479) < 0) __PYX_ERR(0, 5363, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5364: self.irvineranch.tot_storage = 0.594
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5364, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_tot_storage, __pyx_float_0_594) < 0) __PYX_ERR(0, 5364, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5365: self.losthills.project_contract['tableA'] = 0.0293663708
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_losthills); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5365, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_0293663708) < 0)) __PYX_ERR(0, 5365, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5366: self.wheeler.project_contract['tableA'] = 0.04858926015
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wheeler); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5366, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_tableA, __pyx_float_0_04858926015) < 0)) __PYX_ERR(0, 5366, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5367: self.belridge.project_contract['tableA'] = 0.02995607
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_02995607) < 0)) __PYX_ERR(0, 5367, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5368: self.southbay.project_contract['tableA'] = 0.0548863
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_tableA, __pyx_float_0_0548863) < 0)) __PYX_ERR(0, 5368, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5369: self.westkern.project_contract['tableA'] = 0.00776587
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westkern); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_00776587) < 0)) __PYX_ERR(0, 5369, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5370: self.berrenda.project_contract['tableA'] = 0.02282922
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_tableA, __pyx_float_0_02282922) < 0)) __PYX_ERR(0, 5370, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5371: self.socal.project_contract['tableA'] = 0.648310
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_648310) < 0)) __PYX_ERR(0, 5371, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5372: for xnum in range(0, self.number_years):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5372, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5372, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5372, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5372, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xnum, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5373: self.metropolitan.private_fraction['SOC'][xnum] = 1911.0/(4056.0 * 0.648310)
__pyx_t_1 = PyFloat_FromDouble((1911.0 / (4056.0 * 0.648310))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_SOC); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_xnum, __pyx_t_1) < 0)) __PYX_ERR(0, 5373, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5374: self.metropolitan.pump_out_fraction['SOC'] = 1911.0/(4056.0 * 0.648310)
__pyx_t_1 = PyFloat_FromDouble((1911.0 / (4056.0 * 0.648310))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_pump_out_fraction); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_SOC, __pyx_t_1) < 0)) __PYX_ERR(0, 5374, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5375: self.socal.private_fraction = [(1911.0 + (0.03629 + 0.05274) * 4056.0 * 0.648310) / (4056.0 * 0.648310)]
__pyx_t_3 = PyFloat_FromDouble(((1911.0 + (((0.03629 + 0.05274) * 4056.0) * 0.648310)) / (4056.0 * 0.648310))); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_3); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_private_fraction, __pyx_t_1) < 0) __PYX_ERR(0, 5375, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5376:
+5377: self.kwbcanal.capacity["normal"] = [800.0, 800.0, 0.0, 0.0]
__pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_float_0_0); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5377, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_normal, __pyx_t_3) < 0)) __PYX_ERR(0, 5377, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5378: self.kwbcanal.capacity["reverse"] = [0.0, 440.0, 800.0, 800.0]
__pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_float_800_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_capacity); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_reverse, __pyx_t_3) < 0)) __PYX_ERR(0, 5378, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5379: self.kwbcanal.capacity["closed"] = [0.0, 0.0, 0.0, 0.0]
__pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 3, __pyx_float_0_0); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5379, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_closed, __pyx_t_3) < 0)) __PYX_ERR(0, 5379, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5380: self.kwbcanal.turnout["normal"] = [800.0, 800.0, 0.0]
__pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_0_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5380, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_normal, __pyx_t_3) < 0)) __PYX_ERR(0, 5380, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5381: self.kwbcanal.turnout["reverse"] = [0.0, 440.0, 800.0]
__pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_800_0); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_turnout); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5381, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_reverse, __pyx_t_3) < 0)) __PYX_ERR(0, 5381, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5382: self.kwbcanal.turnout["closed"] = [0.0, 0.0, 0.0]
__pyx_t_3 = PyList_New(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_3, 2, __pyx_float_0_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5382, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_closed, __pyx_t_3) < 0)) __PYX_ERR(0, 5382, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5383: self.kwbcanal.flow_directions["recharge"]["caa"] = 'closed'
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recharge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5383, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_caa, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5383, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5384: self.kwbcanal.flow_directions["recharge"]["knc"] = 'closed'
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recharge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5384, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_knc, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5384, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5385: self.kwbcanal.flow_directions["recovery"]["caa"] = 'normal'
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recovery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_caa, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5385, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5386: self.kwbcanal.flow_directions["recovery"]["knc"] = 'normal'
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recovery); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_knc, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5387: self.fkc.flow_directions["recharge"]["xvc"] = 'normal'
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recharge); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_xvc, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5387, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5388: self.kwb.initial_recharge = 1212.12
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5388, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_initial_recharge, __pyx_float_1212_12) < 0) __PYX_ERR(0, 5388, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5389: self.kwb.recovery = 0.7863
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5389, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_recovery, __pyx_float_0_7863) < 0) __PYX_ERR(0, 5389, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5390: self.kwb.tot_storage = 2.4
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5390, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__Pyx_PyObject_SetAttrStr(__pyx_t_3, __pyx_n_s_tot_storage, __pyx_float_2_4) < 0) __PYX_ERR(0, 5390, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5391: tot_contract = 0.0
__pyx_v_tot_contract = 0.0;
5392:
+5393: if self.use_sensitivity:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_use_sensitivity); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5393, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5393, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { /* … */ }
+5394: for district in self.district_list:
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5394, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5394, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5394, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } } else { __pyx_t_3 = __pyx_t_5(__pyx_t_1); if (unlikely(!__pyx_t_3)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5394, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_3); } __Pyx_XDECREF_SET(__pyx_v_district, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5395: district.set_sensitivity_factors(self.sensitivity_factors['et_multiplier']['realization'], self.sensitivity_factors['acreage_multiplier']['realization'], self.sensitivity_factors['irrigation_efficiency']['realization'], self.sensitivity_factors['recharge_decline']['realization'])
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district, __pyx_n_s_set_sensitivity_factors); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_et_multiplier); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_realization); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_acreage_multiplier); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_realization); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_9, __pyx_n_u_irrigation_efficiency); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_realization); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_11 = __Pyx_PyObject_Dict_GetItem(__pyx_t_10, __pyx_n_u_recharge_decline); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_Dict_GetItem(__pyx_t_11, __pyx_n_u_realization); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_11 = NULL; __pyx_t_12 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_11)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_12 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_t_2, __pyx_t_8, __pyx_t_9, __pyx_t_10}; __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 4+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[5] = {__pyx_t_11, __pyx_t_2, __pyx_t_8, __pyx_t_9, __pyx_t_10}; __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_12, 4+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } else #endif { __pyx_t_13 = PyTuple_New(4+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_11); __pyx_t_11 = NULL; } __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_13, 3+__pyx_t_12, __pyx_t_10); __pyx_t_2 = 0; __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5395, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5396: for waterbanks in self.waterbank_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_waterbank_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5396, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_5)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5396, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5396, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5396, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_5(__pyx_t_3); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5396, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_waterbanks, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5397: for x in range(0, len(waterbanks.recharge_decline)):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_waterbanks, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5397, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 5397, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_15 = __pyx_t_14; for (__pyx_t_16 = 0; __pyx_t_16 < __pyx_t_15; __pyx_t_16+=1) { __pyx_v_x = __pyx_t_16;
+5398: waterbanks.recharge_decline[x] = 1.0 - self.sensitivity_factors['recharge_decline']['realization']*(1.0 - waterbanks.recharge_decline[x])
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_sensitivity_factors); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_recharge_decline); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_realization); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_waterbanks, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_6, __pyx_v_x, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_13, 1.0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyFloat_SubtractCObj(__pyx_float_1_0, __pyx_t_13, 1.0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_waterbanks, __pyx_n_s_recharge_decline); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (unlikely(__Pyx_SetItemInt(__pyx_t_13, __pyx_v_x, __pyx_t_6, Py_ssize_t, 1, PyInt_FromSsize_t, 0, 1, 1) < 0)) __PYX_ERR(0, 5398, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; }
5399:
5400:
+5401: def set_regulations_historical_north(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_97set_regulations_historical_north(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_97set_regulations_historical_north = {"set_regulations_historical_north", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_97set_regulations_historical_north, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_97set_regulations_historical_north(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_historical_north (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_96set_regulations_historical_north(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_96set_regulations_historical_north(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__75)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_historical_north", 0);
__Pyx_TraceCall("set_regulations_historical_north", __pyx_f[0], 5401, 0, __PYX_ERR(0, 5401, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_historical_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__137 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_x); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(0, 5401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__137);
__Pyx_GIVEREF(__pyx_tuple__137);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_97set_regulations_historical_north, 0, __pyx_n_s_Model_set_regulations_historical, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__75)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_regulations_historical_north, __pyx_t_2) < 0) __PYX_ERR(0, 5401, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__75 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_regulations_historical_north, 5401, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__75)) __PYX_ERR(0, 5401, __pyx_L1_error)
+5402: if self.starting_year >= 2005:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5402, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2005, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5402, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5402, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5403: self.yuba.env_min_flow = self.yuba.env_min_flow_ya
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_env_min_flow_ya); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5403, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_env_min_flow, __pyx_t_1) < 0) __PYX_ERR(0, 5403, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5404: self.yuba.temp_releases = self.yuba.temp_releases_ya
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_temp_releases_ya); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5404, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_temp_releases, __pyx_t_1) < 0) __PYX_ERR(0, 5404, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5405: if self.starting_year >= 2008:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5405, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_2008, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5405, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+5406: for x in range(318, 334):
for (__pyx_t_4 = 0x13E; __pyx_t_4 < 0x14E; __pyx_t_4+=1) {
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
__pyx_t_1 = 0;
+5407: self.delta.x2constraint['W'][x] = 77.0 - 3.0*(x-318)/16
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_x, __pyx_int_318, 0x13E, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_float_3_0, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_TrueDivideObjC(__pyx_t_2, __pyx_int_16, 16, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyFloat_SubtractCObj(__pyx_float_77_0, __pyx_t_1, 77.0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_W); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_x, __pyx_t_2) < 0)) __PYX_ERR(0, 5407, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5408: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+5409: for x in range(334,366):
for (__pyx_t_4 = 0x14E; __pyx_t_4 < 0x16E; __pyx_t_4+=1) {
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5409, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
__pyx_t_2 = 0;
+5410: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5410, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5410, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5411: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5411, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5411, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+5412: for x in range(0, 30):
for (__pyx_t_4 = 0; __pyx_t_4 < 30; __pyx_t_4+=1) {
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5412, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
__pyx_t_2 = 0;
+5413: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5413, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5413, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5414: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5414, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5414, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
5415:
+5416: def set_regulations_current_north(self):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_99set_regulations_current_north(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_99set_regulations_current_north = {"set_regulations_current_north", (PyCFunction)__pyx_pw_14calfews_src_cy_8model_cy_5Model_99set_regulations_current_north, METH_O, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_99set_regulations_current_north(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_current_north (wrapper)", 0);
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_98set_regulations_current_north(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_98set_regulations_current_north(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__76)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_current_north", 0);
__Pyx_TraceCall("set_regulations_current_north", __pyx_f[0], 5416, 0, __PYX_ERR(0, 5416, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_current_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__138 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_x); if (unlikely(!__pyx_tuple__138)) __PYX_ERR(0, 5416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__138);
__Pyx_GIVEREF(__pyx_tuple__138);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_99set_regulations_current_north, 0, __pyx_n_s_Model_set_regulations_current_no, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5416, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_regulations_current_north, __pyx_t_2) < 0) __PYX_ERR(0, 5416, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_regulations_current_north, 5416, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 5416, __pyx_L1_error)
+5417: self.yuba.env_min_flow = self.yuba.env_min_flow_ya
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_env_min_flow_ya); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5417, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_env_min_flow, __pyx_t_2) < 0) __PYX_ERR(0, 5417, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5418: self.yuba.temp_releases = self.yuba.temp_releases_ya
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_temp_releases_ya); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_temp_releases, __pyx_t_2) < 0) __PYX_ERR(0, 5418, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5419: for x in range(318, 334):
for (__pyx_t_3 = 0x13E; __pyx_t_3 < 0x14E; __pyx_t_3+=1) {
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5419, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
__pyx_t_1 = 0;
+5420: self.delta.x2constraint['W'][x] = 77.0 - 3.0*(x-318)/16
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_x, __pyx_int_318, 0x13E, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyNumber_Multiply(__pyx_float_3_0, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_TrueDivideObjC(__pyx_t_2, __pyx_int_16, 16, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyFloat_SubtractCObj(__pyx_float_77_0, __pyx_t_1, 77.0, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_4, __pyx_n_u_W); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_x, __pyx_t_2) < 0)) __PYX_ERR(0, 5420, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5421: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5421, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5421, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+5422: for x in range(334,366):
for (__pyx_t_3 = 0x14E; __pyx_t_3 < 0x16E; __pyx_t_3+=1) {
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
__pyx_t_2 = 0;
+5423: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5423, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5423, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5424: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5424, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5424, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+5425: for x in range(0, 30):
for (__pyx_t_3 = 0; __pyx_t_3 < 30; __pyx_t_3+=1) {
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
__pyx_t_2 = 0;
+5426: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5426, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5426, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5427: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5427, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5427, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
5428:
5429:
+5430: def set_regulations_historical_south(self, scenario):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_101set_regulations_historical_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_101set_regulations_historical_south = {"set_regulations_historical_south", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_101set_regulations_historical_south, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_101set_regulations_historical_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_scenario = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_historical_south (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_scenario,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_scenario)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set_regulations_historical_south", 1, 2, 2, 1); __PYX_ERR(0, 5430, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_regulations_historical_south") < 0)) __PYX_ERR(0, 5430, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_scenario = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set_regulations_historical_south", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5430, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_historical_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_100set_regulations_historical_south(__pyx_self, __pyx_v_self, __pyx_v_scenario);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_100set_regulations_historical_south(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_scenario) {
PyObject *__pyx_v_expected_outflow_releases = NULL;
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_y = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_xnum = NULL;
CYTHON_UNUSED long __pyx_v_do_nothing;
PyObject *__pyx_v_request_empty = NULL;
long __pyx_v_contractor_toggle;
PyObject *__pyx_v_contract = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__77)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set_regulations_historical_south", 0);
__Pyx_TraceCall("set_regulations_historical_south", __pyx_f[0], 5430, 0, __PYX_ERR(0, 5430, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.set_regulations_historical_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_expected_outflow_releases);
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_xnum);
__Pyx_XDECREF(__pyx_v_request_empty);
__Pyx_XDECREF(__pyx_v_contract);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__139 = PyTuple_Pack(13, __pyx_n_s_self, __pyx_n_s_scenario, __pyx_n_s_expected_outflow_releases, __pyx_n_s_wyt, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_xx, __pyx_n_s_district_object, __pyx_n_s_xnum, __pyx_n_s_do_nothing, __pyx_n_s_request_empty, __pyx_n_s_contractor_toggle, __pyx_n_s_contract); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(0, 5430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__139);
__Pyx_GIVEREF(__pyx_tuple__139);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_101set_regulations_historical_south, 0, __pyx_n_s_Model_set_regulations_historical_2, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__77)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_set_regulations_historical_south, __pyx_t_2) < 0) __PYX_ERR(0, 5430, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__77 = (PyObject*)__Pyx_PyCode_New(2, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_set_regulations_historical_south, 5430, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__77)) __PYX_ERR(0, 5430, __pyx_L1_error)
+5431: if self.starting_year >= 2005:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5431, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2005, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5431, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5432: self.semitropic.leiu_recovery = 0.7945
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5432, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_leiu_recovery, __pyx_float_0_7945) < 0) __PYX_ERR(0, 5432, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5433: if self.starting_year >= 2009:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5433, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_2009, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5433, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5433, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+5434: expected_outflow_releases = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5434, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_expected_outflow_releases = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+5435: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_1 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5435, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_2)); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5436: expected_outflow_releases[wyt] = np.zeros(366)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_5, __pyx_int_366) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_int_366); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5436, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyDict_SetItem(__pyx_v_expected_outflow_releases, __pyx_v_wyt, __pyx_t_2) < 0)) __PYX_ERR(0, 5436, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5437: self.millerton.carryover_target[wyt] = 250.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_carryover_target); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5437, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_wyt, __pyx_float_250_0) < 0)) __PYX_ERR(0, 5437, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5438: self.millerton.calc_expected_min_release(self, expected_outflow_releases, np.zeros(12), 1)
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_calc_expected_min_release); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_12); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); __pyx_t_8 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_6, __pyx_int_1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[5] = {__pyx_t_7, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_6, __pyx_int_1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 4+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else #endif { __pyx_t_5 = PyTuple_New(4+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_v_self); __Pyx_INCREF(__pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_v_expected_outflow_releases); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_5, 3+__pyx_t_8, __pyx_int_1); __pyx_t_6 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5438, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5439: self.millerton.max_carryover_target = 250.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5439, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_carryover_target, __pyx_float_250_0) < 0) __PYX_ERR(0, 5439, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5440:
+5441: if self.starting_year >= 2004:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5441, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2004, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5441, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5441, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5442: self.kaweah.capacity = 180.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_capacity, __pyx_float_180_0) < 0) __PYX_ERR(0, 5442, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5443: self.kaweah.tocs_rule['storage'] = [[180,63,63,180,180], [180,63,63,180,180]]
__pyx_t_2 = PyList_New(5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_int_180); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_int_63); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_int_63); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_2, 3, __pyx_int_180); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_2, 4, __pyx_int_180); __pyx_t_1 = PyList_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_180); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_63); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_63); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_180); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_180); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_storage, __pyx_t_5) < 0)) __PYX_ERR(0, 5443, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5444: if self.starting_year >= 2005:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5444, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_int_2005, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5444, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5444, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5445: self.isabella.capacity = 400.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_capacity, __pyx_float_400_0) < 0) __PYX_ERR(0, 5445, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5446: self.isabella.tocs_rule['storage'] = [[302.6,245,245,245,245,400,400,302.6], [302.6,245,245,245,245,400,400,302.6]]
__pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 4, __pyx_int_245); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_2, 5, __pyx_int_400); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_2, 6, __pyx_int_400); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 7, __pyx_float_302_6); __pyx_t_5 = PyList_New(8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_5, 2, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_5, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_5, 4, __pyx_int_245); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_5, 5, __pyx_int_400); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_5, 6, __pyx_int_400); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_5, 7, __pyx_float_302_6); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_5); __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_storage, __pyx_t_1) < 0)) __PYX_ERR(0, 5446, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5447: self.kernriver.carryover = 170.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5447, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_carryover, __pyx_float_170_0) < 0) __PYX_ERR(0, 5447, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5448: if self.starting_year >= 2006:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5448, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2006, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5448, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5448, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5449: self.isabella.capacity = 361.25
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5449, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_capacity, __pyx_float_361_25) < 0) __PYX_ERR(0, 5449, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5450: self.isabella.tocs_rule['storage'] = [[302.6,170,170,245,245,361.25,361.25,302.6], [302.6,170,170,245,245,361.25,361.25,302.6]]
__pyx_t_2 = PyList_New(8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_2, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_2, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_2, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_2, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_2, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_2, 7, __pyx_float_302_6); __pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_float_302_6); __pyx_t_5 = PyList_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_5, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_storage, __pyx_t_5) < 0)) __PYX_ERR(0, 5450, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5451: self.kernriver.carryover = 170.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5451, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_carryover, __pyx_float_170_0) < 0) __PYX_ERR(0, 5451, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5452: for x in self.district_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5452, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5452, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5452, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5452, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5452, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5453: x.carryover_rights = {}
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5453, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_5) < 0) __PYX_ERR(0, 5453, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5454: for y in self.contract_list:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) { __pyx_t_1 = __pyx_t_5; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5454, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5454, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5454, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5454, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif } } else { __pyx_t_5 = __pyx_t_11(__pyx_t_1); if (unlikely(!__pyx_t_5)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5454, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_5); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5455: if y.type == 'right':
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5455, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5455, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L14; }
+5456: x.carryover_rights[y.name] = y.carryover*x.rights[y.name]['carryover']
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_carryover); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_5, __pyx_t_7); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_5, __pyx_t_12) < 0)) __PYX_ERR(0, 5456, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
5457: else:
+5458: x.carryover_rights[y.name] = 0.0
/*else*/ {
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (unlikely(PyObject_SetItem(__pyx_t_12, __pyx_t_5, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5458, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__pyx_L14:;
+5459: for x in self.private_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5459, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5459, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5459, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5459, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5459, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5460: x.carryover_rights = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_2) < 0) __PYX_ERR(0, 5460, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5461: for xx in x.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5461, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5461, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5461, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5461, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5461, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5462: district_object = self.district_keys[xx]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5462, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_12); __pyx_t_12 = 0;
+5463: x.carryover_rights[xx] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5463, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 5463, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+5464: for y in self.contract_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_2 = __pyx_t_12; __Pyx_INCREF(__pyx_t_2); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5464, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_12); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 5464, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_13); __Pyx_INCREF(__pyx_t_12); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 5464, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_2, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5464, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_14(__pyx_t_2); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5464, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5465: if y.type == 'right':
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5465, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_12, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5465, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+5466: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][0]
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_Dict_GetItem(__pyx_t_15, __pyx_n_u_carryover); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = PyNumber_Multiply(__pyx_t_12, __pyx_t_6); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_15, __pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_6, __pyx_t_12) < 0)) __PYX_ERR(0, 5466, __pyx_L1_error) __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
5467: else:
+5468: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_6 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_t_12, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5468, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__pyx_L21:;
+5469: for x in self.city_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_9 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5469, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5469, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5469, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5469, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5470: x.carryover_rights = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_1) < 0) __PYX_ERR(0, 5470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5471: for xx in x.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5471, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5471, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5471, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5471, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_11(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5471, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5472: district_object = self.district_keys[xx]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5472, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_12); __pyx_t_12 = 0;
+5473: x.carryover_rights[xx] = {}
__pyx_t_12 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5473, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_xx, __pyx_t_12) < 0)) __PYX_ERR(0, 5473, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+5474: for y in self.contract_list:
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (likely(PyList_CheckExact(__pyx_t_12)) || PyTuple_CheckExact(__pyx_t_12)) { __pyx_t_1 = __pyx_t_12; __Pyx_INCREF(__pyx_t_1); __pyx_t_13 = 0; __pyx_t_14 = NULL; } else { __pyx_t_13 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_14 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 5474, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; for (;;) { if (likely(!__pyx_t_14)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_12); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 5474, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } else { if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_12 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_13); __Pyx_INCREF(__pyx_t_12); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(0, 5474, __pyx_L1_error) #else __pyx_t_12 = PySequence_ITEM(__pyx_t_1, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); #endif } } else { __pyx_t_12 = __pyx_t_14(__pyx_t_1); if (unlikely(!__pyx_t_12)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5474, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_12); } __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_12); __pyx_t_12 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5475: if y.type == 'right':
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_12, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5475, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L28; }
+5476: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][0]
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_carryover); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_12, __pyx_t_15); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_12 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_12, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Multiply(__pyx_t_7, __pyx_t_15); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_15, __pyx_v_xx); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_t_15, __pyx_t_12) < 0)) __PYX_ERR(0, 5476, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
5477: else:
+5478: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_15 = __Pyx_PyObject_GetItem(__pyx_t_12, __pyx_v_xx); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
if (unlikely(PyObject_SetItem(__pyx_t_15, __pyx_t_12, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5478, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__pyx_L28:;
+5479: if self.starting_year >= 2009:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5479, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_int_2009, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5479, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5479, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5480: self.poso.initial_recharge = 420.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5480, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_initial_recharge, __pyx_float_420_0) < 0) __PYX_ERR(0, 5480, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5481: self.poso.recovery = 0.6942
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5481, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_recovery, __pyx_float_0_6942) < 0) __PYX_ERR(0, 5481, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5482: self.poso.tot_storage = 2.1
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5482, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_tot_storage, __pyx_float_2_1) < 0) __PYX_ERR(0, 5482, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5483: self.fkc.capacity["normal"] = self.fkc.capacity["normal_wy2010"]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_capacity); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_normal_wy2010); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_capacity); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_normal, __pyx_t_2) < 0)) __PYX_ERR(0, 5483, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5484: if self.starting_year >= 2010:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5484, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_2010, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5484, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+5485: self.irvineranch.initial_recharge = 300.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5485, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_initial_recharge, __pyx_float_300_0) < 0) __PYX_ERR(0, 5485, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5486: self.irvineranch.recovery = 0.0479
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_recovery, __pyx_float_0_0479) < 0) __PYX_ERR(0, 5486, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5487: self.irvineranch.tot_storage = 0.594
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_tot_storage, __pyx_float_0_594) < 0) __PYX_ERR(0, 5487, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5488: if self.starting_year >= 1998:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_1998, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5489: self.berrenda.project_contract['tableA'] = 0.032076
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5489, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_032076) < 0)) __PYX_ERR(0, 5489, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5490: self.socal.project_contract['tableA'] = 0.63338264299
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_63338264299) < 0)) __PYX_ERR(0, 5490, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5491: for xnum in range(0, self.number_years):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5491, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5491, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5491, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5491, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5491, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xnum, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5492: self.metropolitan.private_fraction['SOC'][xnum] = 1911.0/(4056.0 * 0.63338264299)
__pyx_t_2 = PyFloat_FromDouble((1911.0 / (4056.0 * 0.63338264299))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_SOC); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_xnum, __pyx_t_2) < 0)) __PYX_ERR(0, 5492, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5493: self.socal.private_fraction = [(1911.0 + (0.03629 + 0.05274) * 4056.0) / (4056.0 * 0.63338264299)]
__pyx_t_1 = PyFloat_FromDouble(((1911.0 + ((0.03629 + 0.05274) * 4056.0)) / (4056.0 * 0.63338264299))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_private_fraction, __pyx_t_2) < 0) __PYX_ERR(0, 5493, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5494: if self.starting_year >= 1999:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5494, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_1999, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5494, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5495: self.belridge.project_contract['tableA'] = 0.03636
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5495, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_03636) < 0)) __PYX_ERR(0, 5495, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5496: if self.starting_year >= 2000:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5496, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2000, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5496, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5496, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5497: self.southbay.project_contract['tableA'] = 0.05177514792
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5497, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_05177514792) < 0)) __PYX_ERR(0, 5497, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5498: self.belridge.project_contract['tableA'] = 0.03538
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5498, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_03538) < 0)) __PYX_ERR(0, 5498, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5499: self.berrenda.project_contract['tableA'] = 0.03035
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5499, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_03035) < 0)) __PYX_ERR(0, 5499, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5500: self.losthills.project_contract['tableA'] = 0.0293663708
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_losthills); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5500, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_0293663708) < 0)) __PYX_ERR(0, 5500, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5501: self.wheeler.project_contract['tableA'] = 0.04858926015
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wheeler); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5501, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_04858926015) < 0)) __PYX_ERR(0, 5501, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5502: self.socal.project_contract['tableA'] = 0.64423076923
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5502, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_64423076923) < 0)) __PYX_ERR(0, 5502, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5503: for xnum in range(0, self.number_years):
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5503, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5503, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5503, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5503, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5503, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_xnum, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5504: self.metropolitan.private_fraction['SOC'][xnum] = 1911.0/(4056.0 * 0.64423076923)
__pyx_t_2 = PyFloat_FromDouble((1911.0 / (4056.0 * 0.64423076923))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_SOC); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5504, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_xnum, __pyx_t_2) < 0)) __PYX_ERR(0, 5504, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5505: self.socal.private_fraction = [(1911.0 + (0.03629 + 0.05274) * 4056.0) / (4056.0 * 0.64423076923)]
__pyx_t_1 = PyFloat_FromDouble(((1911.0 + ((0.03629 + 0.05274) * 4056.0)) / (4056.0 * 0.64423076923))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_private_fraction, __pyx_t_2) < 0) __PYX_ERR(0, 5505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5506:
+5507: if self.starting_year >= 2001:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5507, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2001, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5507, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5507, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5508: self.southbay.project_contract['tableA'] = 0.05424063116
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5508, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_05424063116) < 0)) __PYX_ERR(0, 5508, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5509: self.belridge.project_contract['tableA'] = 0.0305
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_0305) < 0)) __PYX_ERR(0, 5509, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5510: self.berrenda.project_contract['tableA'] = 0.02837
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_02837) < 0)) __PYX_ERR(0, 5510, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5511: if self.starting_year >= 2004:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_int_2004, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5511, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5511, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5512: self.belridge.project_contract['tableA'] = 0.02995607
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_02995607) < 0)) __PYX_ERR(0, 5512, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5513: self.berrenda.project_contract['tableA'] = 0.02677
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5513, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_02677) < 0)) __PYX_ERR(0, 5513, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5514: self.southbay.project_contract['tableA'] = 0.0548863
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5514, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_0548863) < 0)) __PYX_ERR(0, 5514, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5515: self.westkern.project_contract['tableA'] = 0.00776587
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westkern); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5515, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_00776587) < 0)) __PYX_ERR(0, 5515, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5516: if self.starting_year >= 2010:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5516, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_2010, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5516, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+5517: self.berrenda.project_contract['tableA'] = 0.02282922
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5517, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_tableA, __pyx_float_0_02282922) < 0)) __PYX_ERR(0, 5517, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5518: self.socal.project_contract['tableA'] = 0.648310
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5518, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_648310) < 0)) __PYX_ERR(0, 5518, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5519: for xnum in range(0, self.number_years):
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_number_years); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_int_0); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5519, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5519, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5519, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5519, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5519, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_xnum, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5520: self.metropolitan.private_fraction['SOC'][xnum] = 1911.0/(4056.0 * 0.648310)
__pyx_t_1 = PyFloat_FromDouble((1911.0 / (4056.0 * 0.648310))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_metropolitan); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_12, __pyx_n_u_SOC); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5520, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_xnum, __pyx_t_1) < 0)) __PYX_ERR(0, 5520, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5521: self.socal.private_fraction = [(1911.0 + (0.03629 + 0.05274) * 4056.0) / (4056.0 * 0.648310)]
__pyx_t_2 = PyFloat_FromDouble(((1911.0 + ((0.03629 + 0.05274) * 4056.0)) / (4056.0 * 0.648310))); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5521, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_private_fraction, __pyx_t_1) < 0) __PYX_ERR(0, 5521, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5522:
+5523: if self.starting_year >= 2002:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5523, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_int_2002, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5523, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5523, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ }
+5524: self.kwbcanal.capacity["normal"] = [800.0, 800.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_0_0); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_capacity); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5524, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5524, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5525: self.kwbcanal.capacity["reverse"] = [0.0, 440.0, 800.0, 800.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_800_0); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_capacity); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5525, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_reverse, __pyx_t_1) < 0)) __PYX_ERR(0, 5525, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5526: self.kwbcanal.capacity["closed"] = [0.0, 0.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_0_0); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_capacity); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5526, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_closed, __pyx_t_1) < 0)) __PYX_ERR(0, 5526, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5527: self.kwbcanal.turnout["normal"] = [800.0, 800.0, 0.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_turnout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5527, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5527, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5528: self.kwbcanal.turnout["reverse"] = [0.0, 440.0, 800.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_800_0); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_turnout); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5528, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_reverse, __pyx_t_1) < 0)) __PYX_ERR(0, 5528, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5529: self.kwbcanal.turnout["closed"] = [0.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_turnout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5529, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_n_u_closed, __pyx_t_1) < 0)) __PYX_ERR(0, 5529, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5530: self.kwbcanal.flow_directions["recharge"]["caa"] = 'closed'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5530, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_caa, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5530, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5531: self.kwbcanal.flow_directions["recharge"]["knc"] = 'closed'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5531, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_knc, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5531, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5532: self.kwbcanal.flow_directions["recovery"]["caa"] = 'normal'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_recovery); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5532, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_caa, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5532, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5533: self.kwbcanal.flow_directions["recovery"]["knc"] = 'normal'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_recovery); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5533, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_knc, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5533, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5534: #self.fkc.flow_directions["recharge"]["xvc"] = 'normal'
5535:
+5536: self.kwb.initial_recharge = 1212.12
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_initial_recharge, __pyx_float_1212_12) < 0) __PYX_ERR(0, 5536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5537: self.kwb.recovery = 0.7863
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_recovery, __pyx_float_0_7863) < 0) __PYX_ERR(0, 5537, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5538: self.kwb.tot_storage = 2.4
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5538, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_tot_storage, __pyx_float_2_4) < 0) __PYX_ERR(0, 5538, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5539: if (scenario == 'baseline'):
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_scenario, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5539, __pyx_L1_error) if (__pyx_t_3) { /* … */ goto __pyx_L44; }
+5540: do_nothing = 0
__pyx_v_do_nothing = 0;
+5541: elif (scenario['FKC'] == 'baseline'):
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_scenario, __pyx_n_u_FKC); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5541, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_baseline, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5541, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ } __pyx_L44:;
+5542: self.fkc.capacity["normal"] = self.fkc.capacity["normal_wy2010"]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_capacity); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_normal_wy2010); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_capacity); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5542, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5543:
+5544: self.kerndelta.in_district_direct_recharge = 165.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5544, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_165_0) < 0) __PYX_ERR(0, 5544, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5545: self.kerndelta.in_district_storage = 0.326
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5545, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_0_326) < 0) __PYX_ERR(0, 5545, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5546: self.buenavista.in_district_direct_recharge = 333.3
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5546, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_333_3) < 0) __PYX_ERR(0, 5546, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5547: self.buenavista.in_district_storage = 0.66
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5547, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_0_66) < 0) __PYX_ERR(0, 5547, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5548: self.rosedale.in_district_direct_recharge = 606.1
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5548, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_606_1) < 0) __PYX_ERR(0, 5548, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5549: self.rosedale.in_district_storage = 1.2
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5549, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_1_2) < 0) __PYX_ERR(0, 5549, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5550:
+5551: self.swpdelta.total = 4056.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5551, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_total, __pyx_float_4056_0) < 0) __PYX_ERR(0, 5551, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5552: if self.starting_year == 1996:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1996, 0x7CC, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5552, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5552, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L45; }
+5553: self.swpdelta.max_allocation = 2977.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5553, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_max_allocation, __pyx_float_2977_0) < 0) __PYX_ERR(0, 5553, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5554: elif self.starting_year == 1997:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_1997, 0x7CD, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5554, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5554, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L45; }
+5555: self.swpdelta.max_allocation = 3191.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_3191_0) < 0) __PYX_ERR(0, 5555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5556: elif self.starting_year == 1998:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyInt_EqObjC(__pyx_t_1, __pyx_int_1998, 0x7CE, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5556, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L45; }
+5557: self.swpdelta.max_allocation = 3214.0
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__Pyx_PyObject_SetAttrStr(__pyx_t_5, __pyx_n_s_max_allocation, __pyx_float_3214_0) < 0) __PYX_ERR(0, 5557, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5558: elif self.starting_year == 1999:
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_t_5, __pyx_int_1999, 0x7CF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5558, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5558, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L45; }
+5559: self.swpdelta.max_allocation = 3617.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_3617_0) < 0) __PYX_ERR(0, 5559, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5560: else:
+5561: self.swpdelta.max_allocation = 4056.0
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_4056_0) < 0) __PYX_ERR(0, 5561, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L45:;
5562:
+5563: request_empty = self.swpdelta.total - self.swpdelta.max_allocation
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5563, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_request_empty = __pyx_t_1; __pyx_t_1 = 0;
+5564: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_9 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5564, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5564, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5564, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5564, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_9(__pyx_t_2); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5564, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5565: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
+5566: for contract in x.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_5 = __pyx_t_1; __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5566, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_5))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5566, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_5)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5566, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5566, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_11(__pyx_t_5); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5566, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __pyx_L49_break:; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5567: if contract == 'tableA':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_contract, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5567, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+5568: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
+5569: break
goto __pyx_L49_break;
+5570: if contractor_toggle == 1:
__pyx_t_3 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_3) {
/* … */
}
+5571: if x.key == "SOC":
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5571, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_5, __pyx_n_u_SOC, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5571, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L52; }
+5572: x.table_a_request = x.initial_table_a*self.swpdelta.total - request_empty
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_5, __pyx_t_12); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Subtract(__pyx_t_1, __pyx_v_request_empty); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_12) < 0) __PYX_ERR(0, 5572, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+5573: elif x.key == "SOB":
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5573, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_12, __pyx_n_u_SOB, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5573, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L52; }
+5574: x.table_a_request = x.initial_table_a*self.swpdelta.total
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_12, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5574, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_1) < 0) __PYX_ERR(0, 5574, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5575: elif x.key == "CCA":
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5575, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_CCA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5575, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L52; }
+5576: x.table_a_request = x.initial_table_a*self.swpdelta.total
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_total); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_1, __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5576, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_5) < 0) __PYX_ERR(0, 5576, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5577: else:
+5578: x.table_a_request = x.initial_table_a*self.swpdelta.total
/*else*/ {
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_total); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__pyx_t_12 = PyNumber_Multiply(__pyx_t_5, __pyx_t_1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_12) < 0) __PYX_ERR(0, 5578, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
__pyx_L52:;
+5579: self.swpdelta.total = self.swpdelta.max_allocation
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_max_allocation); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_total, __pyx_t_12) < 0) __PYX_ERR(0, 5579, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5580: for x in self.district_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_12 = __pyx_t_2; __Pyx_INCREF(__pyx_t_12); __pyx_t_4 = 0; __pyx_t_9 = NULL; } else { __pyx_t_4 = -1; __pyx_t_12 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_9 = Py_TYPE(__pyx_t_12)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 5580, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_9)) { if (likely(PyList_CheckExact(__pyx_t_12))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_12, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5580, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_12)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_12, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5580, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_12, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5580, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_9(__pyx_t_12); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5580, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
+5581: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
+5582: for contract in x.contract_list:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { __pyx_t_10 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_11 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 5582, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_11)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5582, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 5582, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5582, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_11(__pyx_t_1); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5582, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_2); __pyx_t_2 = 0; /* … */ } __pyx_L56_break:; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5583: if contract == 'tableA':
__pyx_t_3 = (__Pyx_PyUnicode_Equals(__pyx_v_contract, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5583, __pyx_L1_error) if (__pyx_t_3) { /* … */ }
+5584: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
+5585: break
goto __pyx_L56_break;
+5586: if contractor_toggle == 1:
__pyx_t_3 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_3) {
/* … */
}
+5587: x.project_contract['tableA'] = x.table_a_request/self.swpdelta.total
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_total); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_n_u_tableA, __pyx_t_2) < 0)) __PYX_ERR(0, 5587, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5588:
5589:
5590:
+5591: def update_regulations_south(self,t,dowy,m,y, wateryear):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_103update_regulations_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_103update_regulations_south = {"update_regulations_south", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_103update_regulations_south, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_103update_regulations_south(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_y = 0;
PyObject *__pyx_v_wateryear = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_regulations_south (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_dowy,&__pyx_n_s_m,&__pyx_n_s_y,&__pyx_n_s_wateryear,0};
PyObject* values[6] = {0,0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, 1); __PYX_ERR(0, 5591, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, 2); __PYX_ERR(0, 5591, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, 3); __PYX_ERR(0, 5591, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, 4); __PYX_ERR(0, 5591, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 5:
if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_wateryear)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, 5); __PYX_ERR(0, 5591, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "update_regulations_south") < 0)) __PYX_ERR(0, 5591, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_dowy = values[2];
__pyx_v_m = values[3];
__pyx_v_y = values[4];
__pyx_v_wateryear = values[5];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("update_regulations_south", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5591, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_regulations_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_102update_regulations_south(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_v_y, __pyx_v_wateryear);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_102update_regulations_south(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_dowy, PyObject *__pyx_v_m, PyObject *__pyx_v_y, PyObject *__pyx_v_wateryear) {
PyObject *__pyx_v_expected_outflow_releases = NULL;
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_v_sjrrwyt = NULL;
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_v_xx = NULL;
PyObject *__pyx_v_district_object = NULL;
PyObject *__pyx_v_request_empty = NULL;
long __pyx_v_contractor_toggle;
PyObject *__pyx_v_contract = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__78)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_regulations_south", 0);
__Pyx_TraceCall("update_regulations_south", __pyx_f[0], 5591, 0, __PYX_ERR(0, 5591, __pyx_L1_error));
__Pyx_INCREF(__pyx_v_y);
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_XDECREF(__pyx_t_16);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_regulations_south", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_expected_outflow_releases);
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XDECREF(__pyx_v_sjrrwyt);
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XDECREF(__pyx_v_xx);
__Pyx_XDECREF(__pyx_v_district_object);
__Pyx_XDECREF(__pyx_v_request_empty);
__Pyx_XDECREF(__pyx_v_contract);
__Pyx_XDECREF(__pyx_v_y);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__140 = PyTuple_Pack(15, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_dowy, __pyx_n_s_m, __pyx_n_s_y, __pyx_n_s_wateryear, __pyx_n_s_expected_outflow_releases, __pyx_n_s_wyt, __pyx_n_s_sjrrwyt, __pyx_n_s_x, __pyx_n_s_xx, __pyx_n_s_district_object, __pyx_n_s_request_empty, __pyx_n_s_contractor_toggle, __pyx_n_s_contract); if (unlikely(!__pyx_tuple__140)) __PYX_ERR(0, 5591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__140);
__Pyx_GIVEREF(__pyx_tuple__140);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_103update_regulations_south, 0, __pyx_n_s_Model_update_regulations_south, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_update_regulations_south, __pyx_t_2) < 0) __PYX_ERR(0, 5591, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(6, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_update_regulations_south, 5591, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 5591, __pyx_L1_error)
5592: ##San Joaquin River Restoration Project, started in October of 2009 (WY 2009)
5593: ##Additional Releases from Millerton Lake depending on WYT
+5594: if y >= 2006:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_y, __pyx_int_2006, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5594, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5594, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+5595: self.semitropic.leiu_recovery = 0.7945
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_semitropic); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5595, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_leiu_recovery, __pyx_float_0_7945) < 0) __PYX_ERR(0, 5595, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5596: if y == 2009 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2009, 0x7D9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L5_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5596, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5596, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L5_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5597: expected_outflow_releases = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5597, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_expected_outflow_releases = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+5598: for wyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_1 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_5); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5598, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5598, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_wyt, ((PyObject*)__pyx_t_5)); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5599: expected_outflow_releases[wyt] = np.zeros(366)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_int_366) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_int_366); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5599, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyDict_SetItem(__pyx_v_expected_outflow_releases, __pyx_v_wyt, __pyx_t_5) < 0)) __PYX_ERR(0, 5599, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5600: self.millerton.calc_expected_min_release(self, expected_outflow_releases, np.zeros(12), 1)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_calc_expected_min_release); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_zeros); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_8, function); } } __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_6, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_int_12); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_8)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); __pyx_t_9 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_5, __pyx_int_1}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_8, __pyx_v_self, __pyx_v_expected_outflow_releases, __pyx_t_5, __pyx_int_1}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 4+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } else #endif { __pyx_t_6 = PyTuple_New(4+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_8) { __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL; } __Pyx_INCREF(__pyx_v_self); __Pyx_GIVEREF(__pyx_v_self); PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_9, __pyx_v_self); __Pyx_INCREF(__pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_v_expected_outflow_releases); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_9, __pyx_v_expected_outflow_releases); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_int_1); __Pyx_GIVEREF(__pyx_int_1); PyTuple_SET_ITEM(__pyx_t_6, 3+__pyx_t_9, __pyx_int_1); __pyx_t_5 = 0; __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5600, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5601:
+5602: if y == 2009 and m >= 10:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2009, 0x7D9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5602, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L10_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_m, __pyx_int_10, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5602, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5602, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L10_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L9; }
+5603: self.millerton.sjrr_release = self.millerton.sj_riv_res_flows(t, dowy)
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_sj_riv_res_flows); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_9 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_t, __pyx_v_dowy}; __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_t, __pyx_v_dowy}; __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { __pyx_t_5 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_9, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_9, __pyx_v_dowy); __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_sjrr_release, __pyx_t_1) < 0) __PYX_ERR(0, 5603, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5604: for sjrrwyt in ['W', 'AN', 'BN', 'D', 'C']:
__pyx_t_6 = __pyx_tuple__8; __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = 0; for (;;) { if (__pyx_t_4 >= 5) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5604, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5604, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif __Pyx_XDECREF_SET(__pyx_v_sjrrwyt, ((PyObject*)__pyx_t_1)); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5605: self.millerton.carryover_target[sjrrwyt] = 250.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_carryover_target); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5605, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_v_sjrrwyt, __pyx_float_250_0) < 0)) __PYX_ERR(0, 5605, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5606: self.millerton.max_carryover_target = 250.0
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5606, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_max_carryover_target, __pyx_float_250_0) < 0) __PYX_ERR(0, 5606, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5607: elif y > 2009:
__pyx_t_6 = PyObject_RichCompare(__pyx_v_y, __pyx_int_2009, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5607, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5607, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ } __pyx_L9:;
+5608: self.millerton.sjrr_release = self.millerton.sj_riv_res_flows(t, dowy)
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sj_riv_res_flows); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; __pyx_t_9 = 0; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_1, function); __pyx_t_9 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_t, __pyx_v_dowy}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; } __Pyx_INCREF(__pyx_v_t); __Pyx_GIVEREF(__pyx_v_t); PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_v_t); __Pyx_INCREF(__pyx_v_dowy); __Pyx_GIVEREF(__pyx_v_dowy); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_v_dowy); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_sjrr_release, __pyx_t_6) < 0) __PYX_ERR(0, 5608, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5609: if t == 3089:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_3089, 0xC11, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5609, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5609, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+5610: self.kaweah.capacity = 180.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5610, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_capacity, __pyx_float_180_0) < 0) __PYX_ERR(0, 5610, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5611: self.kaweah.tocs_rule['storage'] = [[180,63,63,180,180], [180,63,63,180,180]]
__pyx_t_1 = PyList_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_180); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_63); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_63); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_180); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_180); __pyx_t_6 = PyList_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_int_180); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_int_63); __Pyx_INCREF(__pyx_int_63); __Pyx_GIVEREF(__pyx_int_63); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_int_63); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_int_180); __Pyx_INCREF(__pyx_int_180); __Pyx_GIVEREF(__pyx_int_180); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_int_180); __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_storage, __pyx_t_7) < 0)) __PYX_ERR(0, 5611, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5612: if t == 3451:
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_3451, 0xD7B, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5612, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ }
+5613: self.isabella.capacity = 400.0
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5613, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_t_7, __pyx_n_s_capacity, __pyx_float_400_0) < 0) __PYX_ERR(0, 5613, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5614: self.isabella.tocs_rule['storage'] = [[302.6,245,245,245,245,400,400,302.6], [302.6,245,245,245,245,400,400,302.6]]
__pyx_t_7 = PyList_New(8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_int_245); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_int_400); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_int_400); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_float_302_6); __pyx_t_1 = PyList_New(8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_int_245); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_int_400); __Pyx_INCREF(__pyx_int_400); __Pyx_GIVEREF(__pyx_int_400); PyList_SET_ITEM(__pyx_t_1, 6, __pyx_int_400); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_1, 7, __pyx_float_302_6); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_storage, __pyx_t_6) < 0)) __PYX_ERR(0, 5614, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5615: self.kernriver.carryover = 170.0
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5615, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_carryover, __pyx_float_170_0) < 0) __PYX_ERR(0, 5615, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5616: if t == 3816:
__pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_3816, 0xEE8, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5616, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5616, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ }
+5617: self.isabella.capacity = 361.25
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5617, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_capacity, __pyx_float_361_25) < 0) __PYX_ERR(0, 5617, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5618: self.isabella.tocs_rule['storage'] = [[302.6,170,170,245,245,361.25,361.25,302.6], [302.6,170,170,245,245,361.25,361.25,302.6]]
__pyx_t_6 = PyList_New(8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_6, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_6, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_6, 7, __pyx_float_302_6); __pyx_t_7 = PyList_New(8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_302_6); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_int_170); __Pyx_INCREF(__pyx_int_170); __Pyx_GIVEREF(__pyx_int_170); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_int_170); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_int_245); __Pyx_INCREF(__pyx_int_245); __Pyx_GIVEREF(__pyx_int_245); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_int_245); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_361_25); __Pyx_GIVEREF(__pyx_float_361_25); PyList_SET_ITEM(__pyx_t_7, 6, __pyx_float_361_25); __Pyx_INCREF(__pyx_float_302_6); __Pyx_GIVEREF(__pyx_float_302_6); PyList_SET_ITEM(__pyx_t_7, 7, __pyx_float_302_6); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_storage, __pyx_t_1) < 0)) __PYX_ERR(0, 5618, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5619: self.kernriver.carryover = 170.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kernriver); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5619, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_carryover, __pyx_float_170_0) < 0) __PYX_ERR(0, 5619, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5620: if t == 2985:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_2985, 0xBA9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5620, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5620, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+5621: self.success.tocs_rule['storage'] = [[36.8,6.5,6.5,41.0,41.0,36.8] , [36.8,6.5,6.5,41.0,41.0,36.8]]
__pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_36_8); __pyx_t_6 = PyList_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 5, __pyx_float_36_8); __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_storage, __pyx_t_7) < 0)) __PYX_ERR(0, 5621, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5622: if t == 3350:
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_3350, 0xD16, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5622, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5622, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ }
+5623: self.success.tocs_rule['storage'] = [[36.8,6.5,6.5,65.0,65.0,36.8] , [36.8,6.5,6.5,65.0,65.0,36.8]]
__pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_float_36_8); __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_36_8); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_storage, __pyx_t_6) < 0)) __PYX_ERR(0, 5623, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5624: if t == 3715:
__pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_3715, 0xE83, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5624, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5624, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ }
+5625: self.success.tocs_rule['storage'] = [[29.2,6.5,6.5,29.2,29.2,29.2] , [29.2,6.5,6.5,29.2,29.2,29.2]]
__pyx_t_6 = PyList_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_6, 5, __pyx_float_29_2); __pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_float_29_2); __Pyx_INCREF(__pyx_float_29_2); __Pyx_GIVEREF(__pyx_float_29_2); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_float_29_2); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_storage, __pyx_t_1) < 0)) __PYX_ERR(0, 5625, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5626: if t == 4445:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_4445, 0x115D, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5626, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5626, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+5627: self.success.tocs_rule['storage'] = [[36.8,6.5,6.5,41.0,41.0,36.8] , [36.8,6.5,6.5,41.0,41.0,36.8]]
__pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_36_8); __pyx_t_6 = PyList_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_41_0); __Pyx_GIVEREF(__pyx_float_41_0); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_float_41_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 5, __pyx_float_36_8); __pyx_t_7 = PyList_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_t_6); __pyx_t_1 = 0; __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_storage, __pyx_t_7) < 0)) __PYX_ERR(0, 5627, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5628: if t == 5540:
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_5540, 0x15A4, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5628, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5628, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ }
+5629: self.success.tocs_rule['storage'] = [[36.8,6.5,6.5,65.0,65.0,36.8] , [36.8,6.5,6.5,65.0,65.0,36.8]]
__pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_float_36_8); __pyx_t_1 = PyList_New(6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_1, 4, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_1, 5, __pyx_float_36_8); __pyx_t_6 = PyList_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); __pyx_t_7 = 0; __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_storage, __pyx_t_6) < 0)) __PYX_ERR(0, 5629, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5630: if t == 6270:
__pyx_t_6 = __Pyx_PyInt_EqObjC(__pyx_v_t, __pyx_int_6270, 0x187E, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5630, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_2) { /* … */ }
+5631: self.success.tocs_rule['storage'] = [[36.8,6.5,6.5,65.0,65.0,36.8] , [36.8,6.5,6.5,82.3,82.3,36.8]]
__pyx_t_6 = PyList_New(6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_6, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_6, 3, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_65_0); __Pyx_GIVEREF(__pyx_float_65_0); PyList_SET_ITEM(__pyx_t_6, 4, __pyx_float_65_0); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_6, 5, __pyx_float_36_8); __pyx_t_7 = PyList_New(6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 0, __pyx_float_36_8); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 1, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_6_5); __Pyx_GIVEREF(__pyx_float_6_5); PyList_SET_ITEM(__pyx_t_7, 2, __pyx_float_6_5); __Pyx_INCREF(__pyx_float_82_3); __Pyx_GIVEREF(__pyx_float_82_3); PyList_SET_ITEM(__pyx_t_7, 3, __pyx_float_82_3); __Pyx_INCREF(__pyx_float_82_3); __Pyx_GIVEREF(__pyx_float_82_3); PyList_SET_ITEM(__pyx_t_7, 4, __pyx_float_82_3); __Pyx_INCREF(__pyx_float_36_8); __Pyx_GIVEREF(__pyx_float_36_8); PyList_SET_ITEM(__pyx_t_7, 5, __pyx_float_36_8); __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_7); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_t_7); __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_tocs_rule); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_storage, __pyx_t_1) < 0)) __PYX_ERR(0, 5631, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5632:
+5633: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5633, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5633, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5633, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5633, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_10(__pyx_t_6); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5633, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5634: x.carryover_rights = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5634, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_1) < 0) __PYX_ERR(0, 5634, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5635: for y in self.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5635, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5635, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5635, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5635, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5635, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5636: if y.type == 'right':
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5636, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5636, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L27; }
+5637: x.carryover_rights[y.name] = y.carryover*x.rights[y.name]['carryover']
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_rights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_13, __pyx_n_u_carryover); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_1, __pyx_t_13) < 0)) __PYX_ERR(0, 5637, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
5638: else:
+5639: x.carryover_rights[y.name] = 0.0
/*else*/ {
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5639, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(PyObject_SetItem(__pyx_t_13, __pyx_t_1, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5639, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L27:;
+5640: for x in self.private_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_private_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_7 = __pyx_t_6; __Pyx_INCREF(__pyx_t_7); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_10 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5640, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5640, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5640, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_7, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5640, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_10(__pyx_t_7); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5640, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5641: x.carryover_rights = {}
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5641, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_6) < 0) __PYX_ERR(0, 5641, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5642: for xx in x.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5642, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5642, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5642, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5642, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5642, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5643: district_object = self.district_keys[xx]
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_xx); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5643, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_13); __pyx_t_13 = 0;
+5644: x.carryover_rights[xx] = {}
__pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5644, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_v_xx, __pyx_t_13) < 0)) __PYX_ERR(0, 5644, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+5645: for y in self.contract_list:
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) { __pyx_t_6 = __pyx_t_13; __Pyx_INCREF(__pyx_t_6); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_15 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5645, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5645, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_6, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5645, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_6, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5645, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } } else { __pyx_t_13 = __pyx_t_15(__pyx_t_6); if (unlikely(!__pyx_t_13)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5645, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_13); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5646: if y.type == 'right':
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5646, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_13, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5646, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L34; }
+5647: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][wateryear]
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_16, __pyx_n_u_carryover); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = PyNumber_Multiply(__pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_wateryear); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_16, __pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(PyObject_SetItem(__pyx_t_16, __pyx_t_5, __pyx_t_13) < 0)) __PYX_ERR(0, 5647, __pyx_L1_error) __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
5648: else:
+5649: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_xx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
if (unlikely(PyObject_SetItem(__pyx_t_5, __pyx_t_13, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5649, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
__pyx_L34:;
+5650: for x in self.city_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_city_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_1 = __pyx_t_7; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_10 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5650, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5650, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_7); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5650, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5650, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_10(__pyx_t_1); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5650, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5651: x.carryover_rights = {}
__pyx_t_7 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5651, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights, __pyx_t_7) < 0) __PYX_ERR(0, 5651, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5652: for xx in x.district_list:
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_district_list); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (likely(PyList_CheckExact(__pyx_t_7)) || PyTuple_CheckExact(__pyx_t_7)) { __pyx_t_6 = __pyx_t_7; __Pyx_INCREF(__pyx_t_6); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_12 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5652, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5652, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_7 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_11); __Pyx_INCREF(__pyx_t_7); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5652, __pyx_L1_error) #else __pyx_t_7 = PySequence_ITEM(__pyx_t_6, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5652, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); #endif } } else { __pyx_t_7 = __pyx_t_12(__pyx_t_6); if (unlikely(!__pyx_t_7)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5652, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_7); } __Pyx_XDECREF_SET(__pyx_v_xx, __pyx_t_7); __pyx_t_7 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5653: district_object = self.district_keys[xx]
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_keys); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_7, __pyx_v_xx); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5653, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_XDECREF_SET(__pyx_v_district_object, __pyx_t_13); __pyx_t_13 = 0;
+5654: x.carryover_rights[xx] = {}
__pyx_t_13 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5654, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_v_xx, __pyx_t_13) < 0)) __PYX_ERR(0, 5654, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+5655: for y in self.contract_list:
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) { __pyx_t_7 = __pyx_t_13; __Pyx_INCREF(__pyx_t_7); __pyx_t_14 = 0; __pyx_t_15 = NULL; } else { __pyx_t_14 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 5655, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; for (;;) { if (likely(!__pyx_t_15)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_14 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5655, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_7, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } else { if (__pyx_t_14 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_14); __Pyx_INCREF(__pyx_t_13); __pyx_t_14++; if (unlikely(0 < 0)) __PYX_ERR(0, 5655, __pyx_L1_error) #else __pyx_t_13 = PySequence_ITEM(__pyx_t_7, __pyx_t_14); __pyx_t_14++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5655, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); #endif } } else { __pyx_t_13 = __pyx_t_15(__pyx_t_7); if (unlikely(!__pyx_t_13)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5655, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_13); } __Pyx_DECREF_SET(__pyx_v_y, __pyx_t_13); __pyx_t_13 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5656: if y.type == 'right':
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_type); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5656, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_13, __pyx_n_u_right, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5656, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L41; }
+5657: x.carryover_rights[xx][y.name] = y.carryover*district_object.rights[y.name]['carryover']*x.private_fraction[xx][wateryear]
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_carryover); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_district_object, __pyx_n_s_rights); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_5, __pyx_t_16); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_carryover); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_13, __pyx_t_16); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_private_fraction); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_wateryear); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Multiply(__pyx_t_8, __pyx_t_16); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_16, __pyx_v_xx); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (unlikely(PyObject_SetItem(__pyx_t_8, __pyx_t_16, __pyx_t_13) < 0)) __PYX_ERR(0, 5657, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
5658: else:
+5659: x.carryover_rights[xx][y.name] = 0.0
/*else*/ {
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_carryover_rights); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5659, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_16 = __Pyx_PyObject_GetItem(__pyx_t_13, __pyx_v_xx); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 5659, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_16);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_y, __pyx_n_s_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5659, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
if (unlikely(PyObject_SetItem(__pyx_t_16, __pyx_t_13, __pyx_float_0_0) < 0)) __PYX_ERR(0, 5659, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
__pyx_L41:;
5660:
5661:
+5662: if y == 2009 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2009, 0x7D9, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5662, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L43_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5662, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5662, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L43_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5663: self.poso.initial_recharge = 420.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5663, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_initial_recharge, __pyx_float_420_0) < 0) __PYX_ERR(0, 5663, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5664: self.poso.recovery = 0.6942
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5664, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_recovery, __pyx_float_0_6942) < 0) __PYX_ERR(0, 5664, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5665: self.poso.tot_storage = 2.1
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_poso); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5665, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_tot_storage, __pyx_float_2_1) < 0) __PYX_ERR(0, 5665, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5666: self.find_all_triggers()
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_all_triggers); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5667: self.fkc.capacity["normal"] = self.fkc.capacity["normal_wy2010"]
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_normal_wy2010); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_fkc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_capacity); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5667, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5668:
5669:
+5670: if y == 2010 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2010, 0x7DA, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L46_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5670, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5670, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L46_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5671: self.irvineranch.initial_recharge = 300.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5671, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_initial_recharge, __pyx_float_300_0) < 0) __PYX_ERR(0, 5671, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5672: self.irvineranch.recovery = 0.0479
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5672, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_recovery, __pyx_float_0_0479) < 0) __PYX_ERR(0, 5672, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5673: self.irvineranch.tot_storage = 0.594
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_irvineranch); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5673, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_tot_storage, __pyx_float_0_594) < 0) __PYX_ERR(0, 5673, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5674:
+5675: if y == 1998 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1998, 0x7CE, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5675, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L49_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5675, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5675, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L49_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5676: self.berrenda.project_contract['tableA'] = 0.032076
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5676, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_032076) < 0)) __PYX_ERR(0, 5676, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5677: self.socal.project_contract['tableA'] = 0.63338264299
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5677, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_63338264299) < 0)) __PYX_ERR(0, 5677, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5678: if y == 1999 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1999, 0x7CF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5678, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L52_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5678, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5678, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L52_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5679: self.belridge.project_contract['tableA'] = 0.03636
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5679, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_03636) < 0)) __PYX_ERR(0, 5679, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5680: if y == 2000 and dowy == 1:
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2000, 0x7D0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L55_bool_binop_done; } __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5680, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5680, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L55_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5681: self.southbay.project_contract['tableA'] = 0.05177514792
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5681, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_05177514792) < 0)) __PYX_ERR(0, 5681, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5682: self.belridge.project_contract['tableA'] = 0.03538
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5682, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_03538) < 0)) __PYX_ERR(0, 5682, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5683: self.berrenda.project_contract['tableA'] = 0.03035
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5683, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_03035) < 0)) __PYX_ERR(0, 5683, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5684: self.losthills.project_contract['tableA'] = 0.0293663708
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_losthills); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5684, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_0293663708) < 0)) __PYX_ERR(0, 5684, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5685: self.wheeler.project_contract['tableA'] = 0.04858926015
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_wheeler); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5685, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_04858926015) < 0)) __PYX_ERR(0, 5685, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5686: self.socal.project_contract['tableA'] = 0.64423076923
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5686, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_64423076923) < 0)) __PYX_ERR(0, 5686, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5687: if y == 2001 and dowy == 1:
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2001, 0x7D1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L58_bool_binop_done; } __pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5687, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L58_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5688: self.southbay.project_contract['tableA'] = 0.05424063116
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5688, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_05424063116) < 0)) __PYX_ERR(0, 5688, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5689: self.belridge.project_contract['tableA'] = 0.0305
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5689, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_0305) < 0)) __PYX_ERR(0, 5689, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5690: self.berrenda.project_contract['tableA'] = 0.02837
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5690, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_02837) < 0)) __PYX_ERR(0, 5690, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5691: if y == 2004 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2004, 0x7D4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L61_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5691, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5691, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L61_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5692: self.belridge.project_contract['tableA'] = 0.02995607
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_belridge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5692, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_02995607) < 0)) __PYX_ERR(0, 5692, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5693: self.berrenda.project_contract['tableA'] = 0.02677
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5693, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_02677) < 0)) __PYX_ERR(0, 5693, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5694: self.southbay.project_contract['tableA'] = 0.0548863
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_southbay); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5694, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_0548863) < 0)) __PYX_ERR(0, 5694, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5695: self.westkern.project_contract['tableA'] = 0.00776587
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_westkern); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5695, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_00776587) < 0)) __PYX_ERR(0, 5695, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5696: if y == 2010 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2010, 0x7DA, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5696, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L64_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5696, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5696, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L64_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5697: self.berrenda.project_contract['tableA'] = 0.02282922
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_berrenda); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5697, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_float_0_02282922) < 0)) __PYX_ERR(0, 5697, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5698: self.socal.project_contract['tableA'] = 0.648310
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_socal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5698, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_tableA, __pyx_float_0_648310) < 0)) __PYX_ERR(0, 5698, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5699:
+5700: if y == 2002 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2002, 0x7D2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { } else { __pyx_t_2 = __pyx_t_3; goto __pyx_L67_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5700, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5700, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_3; __pyx_L67_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5701: self.kwbcanal.capacity["normal"] = [800.0, 800.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_0_0); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5701, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5701, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5702: self.kwbcanal.capacity["reverse"] = [0.0, 440.0, 800.0, 800.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_800_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_capacity); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5702, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_reverse, __pyx_t_1) < 0)) __PYX_ERR(0, 5702, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5703: self.kwbcanal.capacity["closed"] = [0.0, 0.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 3, __pyx_float_0_0); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_capacity); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5703, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_closed, __pyx_t_1) < 0)) __PYX_ERR(0, 5703, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5704: self.kwbcanal.turnout["normal"] = [800.0, 800.0, 0.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_800_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5704, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_normal, __pyx_t_1) < 0)) __PYX_ERR(0, 5704, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5705: self.kwbcanal.turnout["reverse"] = [0.0, 440.0, 800.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_440_0); __Pyx_GIVEREF(__pyx_float_440_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_440_0); __Pyx_INCREF(__pyx_float_800_0); __Pyx_GIVEREF(__pyx_float_800_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_800_0); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_turnout); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5705, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_6, __pyx_n_u_reverse, __pyx_t_1) < 0)) __PYX_ERR(0, 5705, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5706: self.kwbcanal.turnout["closed"] = [0.0, 0.0, 0.0]
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 1, __pyx_float_0_0); __Pyx_INCREF(__pyx_float_0_0); __Pyx_GIVEREF(__pyx_float_0_0); PyList_SET_ITEM(__pyx_t_1, 2, __pyx_float_0_0); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_turnout); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5706, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_closed, __pyx_t_1) < 0)) __PYX_ERR(0, 5706, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5707: self.kwbcanal.flow_directions["recharge"]["caa"] = 'closed'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5707, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_caa, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5707, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5708: self.kwbcanal.flow_directions["recharge"]["knc"] = 'closed'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_recharge); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_knc, __pyx_n_u_closed) < 0)) __PYX_ERR(0, 5708, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5709: self.kwbcanal.flow_directions["recovery"]["caa"] = 'normal'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_recovery); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5709, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_caa, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5709, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5710: self.kwbcanal.flow_directions["recovery"]["knc"] = 'normal'
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwbcanal); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_flow_directions); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_7, __pyx_n_u_recovery); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5710, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_knc, __pyx_n_u_normal) < 0)) __PYX_ERR(0, 5710, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5711: #self.fkc.flow_directions["recharge"]["xvc"] = 'normal'
5712:
+5713: self.kwb.initial_recharge = 1212.12
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5713, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_initial_recharge, __pyx_float_1212_12) < 0) __PYX_ERR(0, 5713, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5714: self.kwb.recovery = 0.7863
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5714, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_recovery, __pyx_float_0_7863) < 0) __PYX_ERR(0, 5714, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5715: self.kwb.tot_storage = 2.4
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kwb); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5715, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_tot_storage, __pyx_float_2_4) < 0) __PYX_ERR(0, 5715, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5716: self.init_tot_recovery()
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_init_tot_recovery); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5716, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5717: self.kerndelta.in_district_direct_recharge = 165.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5717, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_165_0) < 0) __PYX_ERR(0, 5717, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5718: self.kerndelta.in_district_storage = 0.326
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kerndelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5718, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_0_326) < 0) __PYX_ERR(0, 5718, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5719: self.buenavista.in_district_direct_recharge = 333.3
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5719, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_333_3) < 0) __PYX_ERR(0, 5719, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5720: self.buenavista.in_district_storage = 0.66
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buenavista); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5720, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_0_66) < 0) __PYX_ERR(0, 5720, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5721: self.rosedale.in_district_direct_recharge = 606.1
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5721, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_direct_recharge, __pyx_float_606_1) < 0) __PYX_ERR(0, 5721, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5722: self.rosedale.in_district_storage = 1.2
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_rosedale); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5722, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_in_district_storage, __pyx_float_1_2) < 0) __PYX_ERR(0, 5722, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5723:
5724:
+5725: self.find_all_triggers()
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_find_all_triggers); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_7); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_7, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_7); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5725, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5726:
5727: ####Calculates the requests for SWP allocations in WY 1997-2000
5728: ###when less than full allocation was requested by MWD. This is unlikely to
5729: ###occur in the future
+5730: self.swpdelta.total = 4056.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5730, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_total, __pyx_float_4056_0) < 0) __PYX_ERR(0, 5730, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5731: if y == 1996:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1996, 0x7CC, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5731, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5731, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L69; }
+5732: self.swpdelta.max_allocation = 2977.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5732, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_2977_0) < 0) __PYX_ERR(0, 5732, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5733: elif y == 1997:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1997, 0x7CD, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5733, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5733, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L69; }
+5734: self.swpdelta.max_allocation = 3191.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5734, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_3191_0) < 0) __PYX_ERR(0, 5734, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5735: elif y == 1998:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1998, 0x7CE, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5735, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5735, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L69; }
+5736: self.swpdelta.max_allocation = 3214.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5736, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_3214_0) < 0) __PYX_ERR(0, 5736, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5737: elif y == 1999:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_1999, 0x7CF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5737, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5737, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L69; }
+5738: self.swpdelta.max_allocation = 3617.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5738, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_3617_0) < 0) __PYX_ERR(0, 5738, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5739: else:
+5740: self.swpdelta.max_allocation = 4056.0
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5740, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation, __pyx_float_4056_0) < 0) __PYX_ERR(0, 5740, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L69:;
5741:
+5742: request_empty = self.swpdelta.total - self.swpdelta.max_allocation
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_max_allocation); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Subtract(__pyx_t_7, __pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5742, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_v_request_empty = __pyx_t_1; __pyx_t_1 = 0;
+5743: for x in self.district_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5743, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5743, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_4); __Pyx_INCREF(__pyx_t_1); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5743, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5743, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_10(__pyx_t_6); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5743, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5744: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
+5745: for contract in x.contract_list:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_7 = __pyx_t_1; __Pyx_INCREF(__pyx_t_7); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_12 = Py_TYPE(__pyx_t_7)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5745, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_7))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5745, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_7)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_11); __Pyx_INCREF(__pyx_t_1); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5745, __pyx_L1_error) #else __pyx_t_1 = PySequence_ITEM(__pyx_t_7, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5745, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } } else { __pyx_t_1 = __pyx_t_12(__pyx_t_7); if (unlikely(!__pyx_t_1)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5745, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_1); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_1); __pyx_t_1 = 0; /* … */ } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+5746: if contract == 'tableA':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_contract, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5746, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+5747: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
+5748: if contractor_toggle == 1:
__pyx_t_2 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_2) {
/* … */
}
+5749: if x.key == "SOC":
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_7, __pyx_n_u_SOC, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5749, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L76; }
+5750: x.table_a_request = x.initial_table_a*self.swpdelta.total - request_empty
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_7, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Subtract(__pyx_t_1, __pyx_v_request_empty); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_13) < 0) __PYX_ERR(0, 5750, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+5751: elif x.key == "SOB":
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5751, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_13, __pyx_n_u_SOB, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5751, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L76; }
+5752: x.table_a_request = x.initial_table_a*self.swpdelta.total
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_total); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_13, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5752, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_1) < 0) __PYX_ERR(0, 5752, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5753: elif x.key == "CCA":
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_key); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5753, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_n_u_CCA, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5753, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L76; }
+5754: x.table_a_request = x.initial_table_a*self.swpdelta.total
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_total); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = PyNumber_Multiply(__pyx_t_1, __pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5754, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_7) < 0) __PYX_ERR(0, 5754, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
5755: else:
+5756: x.table_a_request = x.initial_table_a*self.swpdelta.total
/*else*/ {
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_initial_table_a); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_total); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
__pyx_t_13 = PyNumber_Multiply(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5756, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_13);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request, __pyx_t_13) < 0) __PYX_ERR(0, 5756, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
__pyx_L76:;
+5757: self.swpdelta.total = self.swpdelta.max_allocation
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_max_allocation); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5757, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__Pyx_PyObject_SetAttrStr(__pyx_t_6, __pyx_n_s_total, __pyx_t_13) < 0) __PYX_ERR(0, 5757, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+5758: for x in self.district_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_district_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_13 = __pyx_t_6; __Pyx_INCREF(__pyx_t_13); __pyx_t_4 = 0; __pyx_t_10 = NULL; } else { __pyx_t_4 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 5758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 5758, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_13))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5758, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_13, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_13)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 5758, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_13, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5758, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_10(__pyx_t_13); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5758, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+5759: contractor_toggle = 0
__pyx_v_contractor_toggle = 0;
+5760: for contract in x.contract_list:
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_contract_list); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_11 = 0; __pyx_t_12 = NULL; } else { __pyx_t_11 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 5760, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_12)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5760, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_11 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_11); __Pyx_INCREF(__pyx_t_6); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(0, 5760, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_12(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 5760, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_contract, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5761: if contract == 'tableA':
__pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_contract, __pyx_n_u_tableA, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5761, __pyx_L1_error) if (__pyx_t_2) { /* … */ }
+5762: contractor_toggle = 1
__pyx_v_contractor_toggle = 1;
+5763: if contractor_toggle == 1:
__pyx_t_2 = ((__pyx_v_contractor_toggle == 1) != 0);
if (__pyx_t_2) {
/* … */
}
+5764: x.project_contract['tableA'] = x.table_a_request/self.swpdelta.total
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_table_a_request); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_swpdelta); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_total); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyNumber_Divide(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_project_contract); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(PyObject_SetItem(__pyx_t_7, __pyx_n_u_tableA, __pyx_t_6) < 0)) __PYX_ERR(0, 5764, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5765:
+5766: def update_regulations_north(self,t,dowy,y):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_105update_regulations_north(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_105update_regulations_north = {"update_regulations_north", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_105update_regulations_north, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_105update_regulations_north(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_y = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_regulations_north (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_dowy,&__pyx_n_s_y,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_north", 1, 4, 4, 1); __PYX_ERR(0, 5766, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_north", 1, 4, 4, 2); __PYX_ERR(0, 5766, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_y)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("update_regulations_north", 1, 4, 4, 3); __PYX_ERR(0, 5766, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "update_regulations_north") < 0)) __PYX_ERR(0, 5766, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_dowy = values[2];
__pyx_v_y = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("update_regulations_north", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5766, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_regulations_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_104update_regulations_north(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_dowy, __pyx_v_y);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_104update_regulations_north(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_t, PyObject *__pyx_v_dowy, PyObject *__pyx_v_y) {
PyObject *__pyx_v_x = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__79)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("update_regulations_north", 0);
__Pyx_TraceCall("update_regulations_north", __pyx_f[0], 5766, 0, __PYX_ERR(0, 5766, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.update_regulations_north", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_x);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__141 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_dowy, __pyx_n_s_y, __pyx_n_s_x); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(0, 5766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__141);
__Pyx_GIVEREF(__pyx_tuple__141);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_105update_regulations_north, 0, __pyx_n_s_Model_update_regulations_north, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__79)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5766, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_update_regulations_north, __pyx_t_2) < 0) __PYX_ERR(0, 5766, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__79 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_update_regulations_north, 5766, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__79)) __PYX_ERR(0, 5766, __pyx_L1_error)
5767:
5768: ##Yuba River Accalfews_src, started in Jan of 2006 (repaces minimum flow requirements)
+5769: if y >= 2006:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_y, __pyx_int_2006, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5769, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5769, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ }
+5770: self.yuba.env_min_flow = self.yuba.env_min_flow_ya
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_env_min_flow_ya); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5770, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_env_min_flow, __pyx_t_3) < 0) __PYX_ERR(0, 5770, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5771: self.yuba.temp_releases = self.yuba.temp_releases_ya
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_temp_releases_ya); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5771, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_temp_releases, __pyx_t_3) < 0) __PYX_ERR(0, 5771, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5772:
+5773: if y == 2008 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2008, 0x7D8, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L5_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5773, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5773, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L5_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5774: for x in range(318, 334):
for (__pyx_t_5 = 0x13E; __pyx_t_5 < 0x14E; __pyx_t_5+=1) {
__pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5774, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_1);
__pyx_t_1 = 0;
+5775: self.delta.x2constraint['W'][x] = 77.0 - 3.0*(x-318)/16
__pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_x, __pyx_int_318, 0x13E, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyNumber_Multiply(__pyx_float_3_0, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyInt_TrueDivideObjC(__pyx_t_3, __pyx_int_16, 16, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyFloat_SubtractCObj(__pyx_float_77_0, __pyx_t_1, 77.0, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_6, __pyx_n_u_W); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_x, __pyx_t_3) < 0)) __PYX_ERR(0, 5775, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5776: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5776, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5776, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; }
5777:
+5778: for x in range(334,366):
for (__pyx_t_5 = 0x14E; __pyx_t_5 < 0x16E; __pyx_t_5+=1) {
__pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5778, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
__pyx_t_3 = 0;
+5779: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5779, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5779, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5780: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5780, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; }
+5781: for x in range(0, 30):
for (__pyx_t_5 = 0; __pyx_t_5 < 30; __pyx_t_5+=1) {
__pyx_t_3 = __Pyx_PyInt_From_long(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5781, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
__pyx_t_3 = 0;
+5782: self.delta.x2constraint['W'][x] = 74.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_W); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5782, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_x, __pyx_float_74_0) < 0)) __PYX_ERR(0, 5782, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5783: self.delta.x2constraint['AN'][x] = 81.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_x2constraint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_AN); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5783, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_v_x, __pyx_float_81_0) < 0)) __PYX_ERR(0, 5783, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; }
5784:
5785: #tucp orders during the drought can be found here:
5786: #https://www.waterboards.ca.gov/waterrights/water_issues/programs/drought/tucp/index.html
+5787: if y == 2014 and dowy == 123:
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2014, 0x7DE, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5787, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L14_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_123, 0x7B, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5787, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5787, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L14_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L13; }
+5788: self.delta.min_outflow['C'][1] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5788, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 1, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5788, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5789: self.delta.min_outflow['C'][2] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5789, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 2, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5789, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5790: self.delta.min_outflow['C'][3] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5790, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 3, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5790, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5791: self.delta.min_outflow['C'][4] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5791, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 4, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5791, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5792: self.delta.min_outflow['C'][5] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5792, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 5, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5792, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5793: self.delta.min_outflow['C'][6] = 3000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5793, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 6, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5793, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5794:
+5795: self.delta.rio_vista_min['C'][8] = 2000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5795, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 8, __pyx_int_2000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5795, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5796: self.delta.rio_vista_min['C'][9] = 2000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5796, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 9, __pyx_int_2000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5796, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5797: self.delta.rio_vista_min['C'][10] = 2000
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5797, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 10, __pyx_int_2000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5797, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5798: elif y == 2014 and dowy == 228:
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2014, 0x7DE, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L16_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_228, 0xE4, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5798, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L16_bool_binop_done:; if (__pyx_t_2) { /* … */ } __pyx_L13:;
+5799: self.delta.san_joaquin_min_flow['C'][2] = 500
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_san_joaquin_min_flow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5799, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 2, __pyx_int_500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5799, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5800: if y == 2014 and dowy == 1:
__pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2014, 0x7DE, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L19_bool_binop_done; } __pyx_t_3 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5800, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5800, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L19_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L18; }
+5801: self.delta.san_joaquin_min_flow['C'][2] = 500
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_san_joaquin_min_flow); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5801, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 2, __pyx_int_500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5801, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5802: self.delta.rio_vista_min['C'][8] = 2500
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5802, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 8, __pyx_int_2500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5802, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5803: self.delta.rio_vista_min['C'][9] = 2500
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5803, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 9, __pyx_int_2500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5803, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5804: self.delta.rio_vista_min['C'][10] = 2500
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_1, __pyx_n_u_C); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5804, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_3, 10, __pyx_int_2500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5804, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5805: self.delta.new_vamp_rule['C'] = 710.0
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_new_vamp_rule); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5805, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_C, __pyx_float_710_0) < 0)) __PYX_ERR(0, 5805, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5806: elif y == 2015 and dowy == 228:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2015, 0x7DF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5806, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L21_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_228, 0xE4, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5806, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5806, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L21_bool_binop_done:; if (__pyx_t_2) { /* … */ goto __pyx_L18; }
+5807: self.delta.san_joaquin_min_flow['C'][2] = 300
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_san_joaquin_min_flow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5807, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 2, __pyx_int_300, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5807, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5808: elif y == 2015 and dowy == 242:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2015, 0x7DF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L23_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_242, 0xF2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5808, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5808, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L23_bool_binop_done:; if (__pyx_t_2) { /* … */ } __pyx_L18:;
+5809: self.delta.san_joaquin_min_flow['C'][2] = 200
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_san_joaquin_min_flow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5809, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 2, __pyx_int_200, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5809, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5810:
5811: #expected_outflow_req, expected_depletion = self.delta.calc_expected_delta_outflow(self.shasta.downstream,self.oroville.downstream,self.yuba.downstream,self.folsom.downstream, self.shasta.temp_releases, self.oroville.temp_releases, self.yuba.temp_releases, self.folsom.temp_releases)
5812: #expected_outflow_req = self.delta.min_outflow
5813: #expected_outflow_req['EC'] = expected_outflow_req['C']
5814: #inflow_list = [self.shasta, self.folsom, self.yuba, self.oroville]
5815: #for x in inflow_list:
5816: #x.calc_expected_min_release(self, expected_outflow_req, expected_depletion, 0)
5817:
+5818: if y == 2015 and dowy == 1:
__pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_y, __pyx_int_2015, 0x7DF, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5818, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { } else { __pyx_t_2 = __pyx_t_4; goto __pyx_L26_bool_binop_done; } __pyx_t_1 = __Pyx_PyInt_EqObjC(__pyx_v_dowy, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5818, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 5818, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_2 = __pyx_t_4; __pyx_L26_bool_binop_done:; if (__pyx_t_2) { /* … */ }
+5819: self.delta.min_outflow['C'][1] = 7100
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5819, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 1, __pyx_int_7100, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5819, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5820: self.delta.min_outflow['C'][2] = 7100
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5820, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 2, __pyx_int_7100, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5820, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5821: self.delta.min_outflow['C'][3] = 7100
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5821, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 3, __pyx_int_7100, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5821, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5822: self.delta.min_outflow['C'][4] = 7100
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5822, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 4, __pyx_int_7100, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5822, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5823: self.delta.min_outflow['C'][5] = 7100
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5823, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 5, __pyx_int_7100, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5823, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5824: self.delta.min_outflow['C'][6] = 4000
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_min_outflow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5824, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 6, __pyx_int_4000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5824, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5825: self.delta.san_joaquin_min_flow['C'][2] = 1140
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_san_joaquin_min_flow); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5825, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 2, __pyx_int_1140, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5825, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5826: self.delta.rio_vista_min['C'][8] = 3000
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5826, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 8, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5826, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5827: self.delta.rio_vista_min['C'][9] = 3000
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5827, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 9, __pyx_int_3000, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5827, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5828: self.delta.rio_vista_min['C'][10] = 3500
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_rio_vista_min); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_C); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5828, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_t_1, 10, __pyx_int_3500, long, 1, __Pyx_PyInt_From_long, 0, 0, 1) < 0)) __PYX_ERR(0, 5828, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5829: self.delta.new_vamp_rule['C'] = 1500.0
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_new_vamp_rule); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5829, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(PyObject_SetItem(__pyx_t_3, __pyx_n_u_C, __pyx_float_1500_0) < 0)) __PYX_ERR(0, 5829, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
5830:
5831: #expected_outflow_req, expected_depletion = self.delta.calc_expected_delta_outflow(self.shasta.downstream,self.oroville.downstream,self.yuba.downstream,self.folsom.downstream, self.shasta.temp_releases, self.oroville.temp_releases, self.yuba.temp_releases, self.folsom.temp_releases)
5832: #expected_outflow_req = self.delta.min_outflow
5833: #expected_outflow_req['EC'] = expected_outflow_req['C']
5834: #inflow_list = [self.shasta, self.folsom, self.yuba, self.oroville]
5835: #for x in inflow_list:
5836: #x.calc_expected_min_release(self, expected_outflow_req, expected_depletion, 0)
5837:
5838:
+5839: def proj_gains(self,t, dowy, m, year_index):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_107proj_gains(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_107proj_gains = {"proj_gains", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_107proj_gains, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_107proj_gains(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_v_m = 0;
PyObject *__pyx_v_year_index = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("proj_gains (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_dowy,&__pyx_n_s_m,&__pyx_n_s_year_index,0};
PyObject* values[5] = {0,0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("proj_gains", 1, 5, 5, 1); __PYX_ERR(0, 5839, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("proj_gains", 1, 5, 5, 2); __PYX_ERR(0, 5839, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("proj_gains", 1, 5, 5, 3); __PYX_ERR(0, 5839, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 4:
if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_year_index)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("proj_gains", 1, 5, 5, 4); __PYX_ERR(0, 5839, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "proj_gains") < 0)) __PYX_ERR(0, 5839, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_dowy = values[2];
__pyx_v_m = values[3];
__pyx_v_year_index = values[4];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("proj_gains", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5839, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.proj_gains", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_106proj_gains(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_dowy, __pyx_v_m, __pyx_v_year_index);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_106proj_gains(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_dowy, PyObject *__pyx_v_m, PyObject *__pyx_v_year_index) {
PyObject *__pyx_v_tot_sac_fnf = NULL;
PyObject *__pyx_v_tot_sj_fnf = NULL;
PyObject *__pyx_v_proj_surplus = NULL;
PyObject *__pyx_v_proj_omr = NULL;
PyObject *__pyx_v_reservoir = NULL;
long __pyx_v_x;
PyObject *__pyx_v_daysmonth = NULL;
PyObject *__pyx_v_expected_pumping = NULL;
PyObject *__pyx_v_max_pumping = NULL;
long __pyx_v_monthloop;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__80)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("proj_gains", 0);
__Pyx_TraceCall("proj_gains", __pyx_f[0], 5839, 0, __PYX_ERR(0, 5839, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.proj_gains", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_tot_sac_fnf);
__Pyx_XDECREF(__pyx_v_tot_sj_fnf);
__Pyx_XDECREF(__pyx_v_proj_surplus);
__Pyx_XDECREF(__pyx_v_proj_omr);
__Pyx_XDECREF(__pyx_v_reservoir);
__Pyx_XDECREF(__pyx_v_daysmonth);
__Pyx_XDECREF(__pyx_v_expected_pumping);
__Pyx_XDECREF(__pyx_v_max_pumping);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__142 = PyTuple_Pack(15, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_dowy, __pyx_n_s_m, __pyx_n_s_year_index, __pyx_n_s_tot_sac_fnf, __pyx_n_s_tot_sj_fnf, __pyx_n_s_proj_surplus, __pyx_n_s_proj_omr, __pyx_n_s_reservoir, __pyx_n_s_x, __pyx_n_s_daysmonth, __pyx_n_s_expected_pumping, __pyx_n_s_max_pumping, __pyx_n_s_monthloop); if (unlikely(!__pyx_tuple__142)) __PYX_ERR(0, 5839, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__142);
__Pyx_GIVEREF(__pyx_tuple__142);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_107proj_gains, 0, __pyx_n_s_Model_proj_gains, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5839, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_proj_gains, __pyx_t_2) < 0) __PYX_ERR(0, 5839, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(5, 0, 15, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__142, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_proj_gains, 5839, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 5839, __pyx_L1_error)
+5840: tot_sac_fnf = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_tot_sac_fnf = __pyx_float_0_0;
+5841: tot_sj_fnf = 0.0
__Pyx_INCREF(__pyx_float_0_0);
__pyx_v_tot_sj_fnf = __pyx_float_0_0;
+5842: proj_surplus = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_12); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5842, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_proj_surplus = __pyx_t_1; __pyx_t_1 = 0;
+5843: proj_omr = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_int_12); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5843, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_proj_omr = __pyx_t_1; __pyx_t_1 = 0;
+5844: for reservoir in [self.shasta, self.oroville, self.yuba, self.folsom]:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4); __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_3 = 0; __pyx_t_4 = 0; __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; for (;;) { if (__pyx_t_6 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 5844, __pyx_L1_error) #else __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5844, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); #endif __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_5); __pyx_t_5 = 0; /* … */ } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+5845: if t < 30:
__pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_int_30, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5845, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5845, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L5; }
+5846: tot_sac_fnf += np.sum(reservoir.fnf[0:t])*30.0/(t+1)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fnf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 0, NULL, &__pyx_v_t, NULL, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_float_30_0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_1 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_InPlaceAdd(__pyx_v_tot_sac_fnf, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5846, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF_SET(__pyx_v_tot_sac_fnf, __pyx_t_5); __pyx_t_5 = 0;
5847: else:
+5848: tot_sac_fnf += np.sum(reservoir.fnf[(t-30):t])
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_sum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fnf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_t_3, &__pyx_v_t, NULL, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_8);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_tot_sac_fnf, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5848, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_tot_sac_fnf, __pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L5:;
+5849: for reservoir in [self.newmelones, self.donpedro, self.exchequer, self.millerton]:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_3, 3, __pyx_t_8); __pyx_t_4 = 0; __pyx_t_2 = 0; __pyx_t_5 = 0; __pyx_t_8 = 0; __pyx_t_8 = __pyx_t_3; __Pyx_INCREF(__pyx_t_8); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { if (__pyx_t_6 >= 4) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 5849, __pyx_L1_error) #else __pyx_t_3 = PySequence_ITEM(__pyx_t_8, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5849, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_reservoir, __pyx_t_3); __pyx_t_3 = 0; /* … */ } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+5850: if t < 30:
__pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_int_30, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5850, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5850, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L8; }
+5851: tot_sj_fnf += np.sum(reservoir.fnf[0:t])*30.0/(t+1)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fnf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_5, 0, 0, NULL, &__pyx_v_t, NULL, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_float_30_0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_v_t, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = __Pyx_PyNumber_Divide(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_InPlaceAdd(__pyx_v_tot_sj_fnf, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5851, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF_SET(__pyx_v_tot_sj_fnf, __pyx_t_3); __pyx_t_3 = 0;
5852: else:
+5853: tot_sj_fnf += np.sum(reservoir.fnf[(t-30):t])
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sum); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_reservoir, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_v_t, __pyx_int_30, 30, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_4, 0, 0, &__pyx_t_5, &__pyx_v_t, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_InPlaceAdd(__pyx_v_tot_sj_fnf, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5853, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF_SET(__pyx_v_tot_sj_fnf, __pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L8:;
5854:
+5855: for x in range(0, 12):
for (__pyx_t_9 = 0; __pyx_t_9 < 12; __pyx_t_9+=1) {
__pyx_v_x = __pyx_t_9;
+5856: if x >= m:
__pyx_t_8 = __Pyx_PyInt_From_long(__pyx_v_x); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5856, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_v_m, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5856, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L11; }
+5857: daysmonth = self.days_in_month[year_index][x]
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_year_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5857, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_2); __pyx_t_2 = 0;
5858: else:
+5859: daysmonth = self.days_in_month[year_index + 1][x]
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5859, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_8);
__pyx_t_8 = 0;
}
__pyx_L11:;
+5860: proj_surplus[x] = max(self.delta_gains_regression['slope'][dowy][x]*min(tot_sac_fnf,4.0) + self.delta_gains_regression['intercept'][dowy][x], 0.0)
__pyx_t_10 = 0.0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_slope); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_11 = 4.0;
__Pyx_INCREF(__pyx_v_tot_sac_fnf);
__pyx_t_8 = __pyx_v_tot_sac_fnf;
__pyx_t_1 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_1, __pyx_t_8, Py_LT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_7) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_11); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_8);
__pyx_t_2 = __pyx_t_8;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyNumber_Multiply(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta_gains_regression); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_intercept); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Add(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_8 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_GT); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_7) {
__pyx_t_5 = PyFloat_FromDouble(__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = __pyx_t_5;
__pyx_t_5 = 0;
} else {
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = __pyx_t_2;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __pyx_t_3;
__Pyx_INCREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(__Pyx_SetItemInt(__pyx_v_proj_surplus, __pyx_v_x, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5860, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5861: proj_omr[x] = (self.delta.omr_regression['slope'][dowy][x]*tot_sj_fnf + self.delta.omr_regression['intercept'][dowy][x] + 5000.0*cfs_tafd*daysmonth)/0.94
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_omr_regression); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_slope); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_v_tot_sj_fnf); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_omr_regression); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_intercept); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_dowy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, __pyx_v_x, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Add(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Multiply(__pyx_float_5000_0, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Add(__pyx_t_5, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyFloat_TrueDivideObjC(__pyx_t_3, __pyx_float_0_94, 0.94, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(__Pyx_SetItemInt(__pyx_v_proj_omr, __pyx_v_x, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5861, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; }
+5862: expected_pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5862, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_expected_pumping = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+5863: expected_pumping['cvp'] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_12); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5863, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyDict_SetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp, __pyx_t_2) < 0)) __PYX_ERR(0, 5863, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5864: expected_pumping['swp'] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_12); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5864, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyDict_SetItem(__pyx_v_expected_pumping, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 5864, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5865: max_pumping = {}
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5865, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_max_pumping = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0;
+5866: max_pumping['cvp'] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_zeros); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_int_12); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5866, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pumping, __pyx_n_u_cvp, __pyx_t_2) < 0)) __PYX_ERR(0, 5866, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5867: max_pumping['swp'] = np.zeros(12)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_zeros); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_5)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_int_12) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_int_12); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5867, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(PyDict_SetItem(__pyx_v_max_pumping, __pyx_n_u_swp, __pyx_t_2) < 0)) __PYX_ERR(0, 5867, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5868:
5869:
+5870: for monthloop in range(0,12):
for (__pyx_t_9 = 0; __pyx_t_9 < 12; __pyx_t_9+=1) {
__pyx_v_monthloop = __pyx_t_9;
+5871: if monthloop >= m:
__pyx_t_2 = __Pyx_PyInt_From_long(__pyx_v_monthloop); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5871, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyObject_RichCompare(__pyx_t_2, __pyx_v_m, Py_GE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5871, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5871, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L14; }
+5872: daysmonth = self.days_in_month[year_index][monthloop]
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_v_year_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5872, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_3); __pyx_t_3 = 0;
5873: else:
+5874: daysmonth = self.days_in_month[year_index + 1][monthloop]
/*else*/ {
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_days_in_month); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_year_index, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetItem(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5874, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF_SET(__pyx_v_daysmonth, __pyx_t_2);
__pyx_t_2 = 0;
}
__pyx_L14:;
+5875: if proj_surplus[monthloop]*0.55 > self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth:
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_proj_surplus, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_float_0_55); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = PyNumber_Multiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5875, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L15; }
+5876: expected_pumping['cvp'][monthloop] = self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_cvp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Multiply(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_v_monthloop, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5876, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5877: expected_pumping['swp'][monthloop] = min(self.delta.pump_max['swp']['intake_limit'][0]*cfs_tafd*daysmonth, proj_surplus[monthloop] - self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth)
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_proj_surplus, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_cvp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_2, __pyx_v_daysmonth); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_swp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = PyNumber_Multiply(__pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5877, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = __pyx_t_3; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_v_monthloop, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5877, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5878: else:
+5879: expected_pumping['cvp'][monthloop] = proj_surplus[monthloop]*0.55
/*else*/ {
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_proj_surplus, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5879, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_float_0_55); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5879, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5879, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_v_monthloop, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5879, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5880: expected_pumping['swp'][monthloop] = proj_surplus[monthloop]*0.45
__pyx_t_5 = __Pyx_GetItemInt(__pyx_v_proj_surplus, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Multiply(__pyx_t_5, __pyx_float_0_45); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_expected_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5880, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_v_monthloop, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5880, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L15:;
5881:
+5882: if monthloop < 6 and year_index + self.starting_year > self.delta.omr_rule_start:
__pyx_t_12 = ((__pyx_v_monthloop < 6) != 0);
if (__pyx_t_12) {
} else {
__pyx_t_7 = __pyx_t_12;
goto __pyx_L17_bool_binop_done;
}
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_starting_year); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = PyNumber_Add(__pyx_v_year_index, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_omr_rule_start); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyObject_RichCompare(__pyx_t_5, __pyx_t_3, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 5882, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_7 = __pyx_t_12;
__pyx_L17_bool_binop_done:;
if (__pyx_t_7) {
/* … */
goto __pyx_L16;
}
+5883: if proj_omr[monthloop]*0.5 > self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth:
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_proj_omr, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_float_0_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = PyNumber_Multiply(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_8, __pyx_v_daysmonth); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5883, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { /* … */ goto __pyx_L19; }
+5884: max_pumping['cvp'][monthloop] = self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_cvp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Multiply(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_v_monthloop, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5884, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+5885: max_pumping['swp'][monthloop] = min(self.delta.pump_max['swp']['intake_limit'][0]*cfs_tafd*daysmonth, proj_omr[monthloop] - self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth)
__pyx_t_5 = __Pyx_GetItemInt(__pyx_v_proj_omr, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_cvp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_8, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_2, __pyx_v_daysmonth); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_t_5, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_swp); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_8, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_3 = PyNumber_Multiply(__pyx_t_8, __pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_3, __pyx_v_daysmonth); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 5885, __pyx_L1_error) __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_7) { __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = __pyx_t_2; } else { __Pyx_INCREF(__pyx_t_5); __pyx_t_3 = __pyx_t_5; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_v_monthloop, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5885, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5886: else:
+5887: max_pumping['cvp'][monthloop] = proj_omr[monthloop]*0.5
/*else*/ {
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_proj_omr, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5887, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyNumber_Multiply(__pyx_t_2, __pyx_float_0_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5887, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5887, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_v_monthloop, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5887, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5888: max_pumping['swp'][monthloop] = proj_omr[monthloop]*0.5
__pyx_t_3 = __Pyx_GetItemInt(__pyx_v_proj_omr, __pyx_v_monthloop, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_float_0_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (unlikely(__Pyx_SetItemInt(__pyx_t_3, __pyx_v_monthloop, __pyx_t_2, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5888, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L19:;
5889:
5890: else:
+5891: max_pumping['cvp'][monthloop] = self.delta.pump_max['cvp']['intake_limit'][0]*cfs_tafd*daysmonth
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_cvp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_2, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyNumber_Multiply(__pyx_t_5, __pyx_v_daysmonth); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_cvp); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (unlikely(__Pyx_SetItemInt(__pyx_t_5, __pyx_v_monthloop, __pyx_t_3, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5891, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+5892: max_pumping['swp'][monthloop] = self.delta.pump_max['swp']['intake_limit'][0]*cfs_tafd*daysmonth
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_pump_max); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_Dict_GetItem(__pyx_t_5, __pyx_n_u_swp); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyObject_Dict_GetItem(__pyx_t_3, __pyx_n_u_intake_limit); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_cfs_tafd); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_2 = PyNumber_Multiply(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = PyNumber_Multiply(__pyx_t_2, __pyx_v_daysmonth); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_max_pumping, __pyx_n_u_swp); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (unlikely(__Pyx_SetItemInt(__pyx_t_2, __pyx_v_monthloop, __pyx_t_5, long, 1, __Pyx_PyInt_From_long, 0, 1, 1) < 0)) __PYX_ERR(0, 5892, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __pyx_L16:; }
5893:
+5894: return expected_pumping, max_pumping
__Pyx_XDECREF(__pyx_r); __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 5894, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(__pyx_v_expected_pumping); __Pyx_GIVEREF(__pyx_v_expected_pumping); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_expected_pumping); __Pyx_INCREF(__pyx_v_max_pumping); __Pyx_GIVEREF(__pyx_v_max_pumping); PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_max_pumping); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0;
5895:
5896:
+5897: def find_wyt(self,index):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_109find_wyt(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_109find_wyt = {"find_wyt", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_109find_wyt, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_109find_wyt(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_index = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_wyt (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_index,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_index)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_wyt", 1, 2, 2, 1); __PYX_ERR(0, 5897, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_wyt") < 0)) __PYX_ERR(0, 5897, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_index = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_wyt", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5897, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_wyt", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_108find_wyt(__pyx_self, __pyx_v_self, __pyx_v_index);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_108find_wyt(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_index) {
PyObject *__pyx_v_wyt = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__81)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_wyt", 0);
__Pyx_TraceCall("find_wyt", __pyx_f[0], 5897, 0, __PYX_ERR(0, 5897, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.find_wyt", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_wyt);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__143 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_index, __pyx_n_s_wyt); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(0, 5897, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__143);
__Pyx_GIVEREF(__pyx_tuple__143);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_109find_wyt, 0, __pyx_n_s_Model_find_wyt, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__81)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5897, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_find_wyt, __pyx_t_2) < 0) __PYX_ERR(0, 5897, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_codeobj__81 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_calfews_src_cy_model_cy_pyx, __pyx_n_s_find_wyt, 5897, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__81)) __PYX_ERR(0, 5897, __pyx_L1_error)
+5898: if index <= 2.1:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_index, __pyx_float_2_1, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5898, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5898, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+5899: wyt = "C"
__Pyx_INCREF(__pyx_n_u_C);
__pyx_v_wyt = __pyx_n_u_C;
+5900: self.isabella.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5900, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5900, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5901: self.success.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5901, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5901, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5902: self.kaweah.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5902, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5902, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5903: self.millerton.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5903, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5903, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5904: elif index <= 2.5:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_index, __pyx_float_2_5, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5904, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5904, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+5905: wyt = "D"
__Pyx_INCREF(__pyx_n_u_D);
__pyx_v_wyt = __pyx_n_u_D;
+5906: self.isabella.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5906, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5907: self.success.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5907, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5908: self.kaweah.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5908, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5909: self.millerton.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5909, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5910: elif index <= 3.1:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_index, __pyx_float_3_1, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5910, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5910, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+5911: wyt = "BN"
__Pyx_INCREF(__pyx_n_u_BN);
__pyx_v_wyt = __pyx_n_u_BN;
+5912: self.isabella.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5912, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5912, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5913: self.success.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5913, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5913, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5914: self.kaweah.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5914, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5914, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5915: self.millerton.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5915, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5915, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5916: elif index <= 3.8:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_index, __pyx_float_3_8, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5916, __pyx_L1_error) __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 5916, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_2) { /* … */ goto __pyx_L3; }
+5917: wyt = "AN"
__Pyx_INCREF(__pyx_n_u_AN);
__pyx_v_wyt = __pyx_n_u_AN;
+5918: self.isabella.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5918, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5918, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5919: self.success.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5919, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5919, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5920: self.kaweah.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5920, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5920, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5921: self.millerton.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5921, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5921, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5922: else:
+5923: wyt = "W"
/*else*/ {
__Pyx_INCREF(__pyx_n_u_W);
__pyx_v_wyt = __pyx_n_u_W;
+5924: self.isabella.forecastWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_isabella); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5924, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5924, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5925: self.success.forecastWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_success); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5925, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5925, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5926: self.kaweah.forecastWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kaweah); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5926, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5926, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5927: self.millerton.forecastWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_millerton); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5927, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5927, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
+5928: return wyt
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_wyt); __pyx_r = __pyx_v_wyt; goto __pyx_L0;
5929:
+5930: def calc_wytypes(self,t,dowy):
/* Python wrapper */
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_111calc_wytypes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_14calfews_src_cy_8model_cy_5Model_111calc_wytypes = {"calc_wytypes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_14calfews_src_cy_8model_cy_5Model_111calc_wytypes, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_14calfews_src_cy_8model_cy_5Model_111calc_wytypes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_t = 0;
PyObject *__pyx_v_dowy = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("calc_wytypes (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_t,&__pyx_n_s_dowy,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("calc_wytypes", 1, 3, 3, 1); __PYX_ERR(0, 5930, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dowy)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("calc_wytypes", 1, 3, 3, 2); __PYX_ERR(0, 5930, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "calc_wytypes") < 0)) __PYX_ERR(0, 5930, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_t = values[1];
__pyx_v_dowy = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("calc_wytypes", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 5930, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.calc_wytypes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_14calfews_src_cy_8model_cy_5Model_110calc_wytypes(__pyx_self, __pyx_v_self, __pyx_v_t, __pyx_v_dowy);
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_14calfews_src_cy_8model_cy_5Model_110calc_wytypes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_t, PyObject *__pyx_v_dowy) {
PyObject *__pyx_v_eos_date = NULL;
PyObject *__pyx_v_yubaIndex = NULL;
PyObject *__pyx_v_folsomIndex = NULL;
PyObject *__pyx_v_eof_storage = NULL;
PyObject *__pyx_v_newmelonesIndex = NULL;
PyObject *__pyx_r = NULL;
__Pyx_TraceDeclarations
__Pyx_TraceFrameInit(__pyx_codeobj__82)
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("calc_wytypes", 0);
__Pyx_TraceCall("calc_wytypes", __pyx_f[0], 5930, 0, __PYX_ERR(0, 5930, __pyx_L1_error));
/* … */
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("calfews_src_cy.model_cy.Model.calc_wytypes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_eos_date);
__Pyx_XDECREF(__pyx_v_yubaIndex);
__Pyx_XDECREF(__pyx_v_folsomIndex);
__Pyx_XDECREF(__pyx_v_eof_storage);
__Pyx_XDECREF(__pyx_v_newmelonesIndex);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_TraceReturn(__pyx_r, 0);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* … */
__pyx_tuple__144 = PyTuple_Pack(8, __pyx_n_s_self, __pyx_n_s_t, __pyx_n_s_dowy, __pyx_n_s_eos_date, __pyx_n_s_yubaIndex, __pyx_n_s_folsomIndex, __pyx_n_s_eof_storage, __pyx_n_s_newmelonesIndex); if (unlikely(!__pyx_tuple__144)) __PYX_ERR(0, 5930, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__144);
__Pyx_GIVEREF(__pyx_tuple__144);
/* … */
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_14calfews_src_cy_8model_cy_5Model_111calc_wytypes, 0, __pyx_n_s_Model_calc_wytypes, NULL, __pyx_n_s_calfews_src_cy_model_cy, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5930, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_SetNameInClass(__pyx_t_1, __pyx_n_s_calc_wytypes, __pyx_t_2) < 0) __PYX_ERR(0, 5930, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5931:
5932: ####NOTE: Full natural flow data is in MAF, inflow data is in TAF
5933: ##Index for Shasta Min Flows
5934: ############################
+5935: if self.delta.forecastSRI[t] <= 5.4:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5935, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_float_5_4, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5935, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5935, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+5936: self.shasta.forecastWYT = "C"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5936, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5936, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5937: self.delta.forecastSCWYT = "C"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastSCWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5938: elif self.delta.forecastSRI[t] <= 6.6:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_float_6_6, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5938, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5938, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+5939: self.shasta.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5939, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5939, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5940: self.delta.forecastSCWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5940, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5941: elif self.delta.forecastSRI[t] <= 7.8:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_1, __pyx_float_7_8, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5941, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+5942: self.shasta.forecastWYT = "BN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5942, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5942, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5943: self.delta.forecastSCWYT = "BN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastSCWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5943, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5944: elif self.delta.forecastSRI[t] <= 9.2:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, __pyx_float_9_2, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5944, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5944, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L3; }
+5945: self.shasta.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5945, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5945, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5946: self.delta.forecastSCWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5946, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5947: else:
+5948: self.shasta.forecastWYT = "W"
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_shasta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5948, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5948, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5949: self.delta.forecastSCWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5949, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastSCWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5949, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } __pyx_L3:;
5950:
5951: ##Index for Oroville Min Flows
5952: ############################
+5953: if self.oroville.snowflood_fnf[t] < 0.55*1.942:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyFloat_FromDouble((0.55 * 1.942)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5953, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L4; }
+5954: self.oroville.forecastWYT = "D"
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5954, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5954, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5955: else:
+5956: self.oroville.forecastWYT = "W"
/*else*/ {
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5956, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5956, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__pyx_L4:;
5957:
+5958: if self.delta.forecastSRI[t] <= 5.4:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5958, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_float_5_4, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5958, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5958, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5959: self.oroville.forecastWYT = "C"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_oroville); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5959, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5959, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5960:
5961: ##Index for Yuba Min Flows
5962: ############################
+5963: eos_date = t - dowy
__pyx_t_2 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5963, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_v_eos_date = __pyx_t_2; __pyx_t_2 = 0;
+5964: if eos_date < 0:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_eos_date, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5964, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5964, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ }
+5965: eos_date = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_DECREF_SET(__pyx_v_eos_date, __pyx_int_0);
5966:
+5967: yubaIndex = (self.yuba.rainflood_fnf[t] + self.yuba.snowflood_fnf[t])*1000 + self.yuba.S[eos_date] - 234.0
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_rainflood_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Multiply(__pyx_t_1, __pyx_int_1000); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_eos_date); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractObjC(__pyx_t_2, __pyx_float_234_0, 234.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5967, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_yubaIndex = __pyx_t_1; __pyx_t_1 = 0;
+5968: if yubaIndex >= 1400:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_yubaIndex, __pyx_int_1400, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5968, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5968, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L7; }
+5969: self.yuba.forecastWYT = "W"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5969, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5969, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5970: elif yubaIndex >= 1040:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_yubaIndex, __pyx_int_1040, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5970, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5970, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L7; }
+5971: self.yuba.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5971, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5971, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5972: elif yubaIndex >= 920:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_yubaIndex, __pyx_int_920, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5972, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5972, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L7; }
+5973: self.yuba.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5973, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5973, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5974: elif yubaIndex >= 820:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_yubaIndex, __pyx_int_820, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5974, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5974, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L7; }
+5975: self.yuba.forecastWYT = "D"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5975, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5975, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+5976: elif yubaIndex >= 693:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_yubaIndex, __pyx_int_693, Py_GE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5976, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5976, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L7; }
+5977: self.yuba.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5977, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5977, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5978: else:
+5979: self.yuba.forecastWYT = "EC"
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_yuba); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5979, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_EC) < 0) __PYX_ERR(0, 5979, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L7:;
5980:
5981: ##Index for Folsom Min Flows
5982: ############################
5983: ##Folsom has the most ridiculous operating rules, and combines a bunch of different 'indicies' throughout the year to determine min flows
+5984: if dowy < 91:
__pyx_t_1 = PyObject_RichCompare(__pyx_v_dowy, __pyx_int_91, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5984, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5984, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L8; }
+5985: folsomIndex = self.folsom.S[eos_date] + (361.701 - self.folsom.fci[eos_date])
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_eos_date); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fci); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_eos_date); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyFloat_SubtractCObj(__pyx_float_361_701, __pyx_t_2, 361.701, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_folsomIndex = __pyx_t_2; __pyx_t_2 = 0;
+5986: if folsomIndex >= 848:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_848, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5986, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5986, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L9; }
+5987: self.folsom.forecastWYT = "W"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 5987, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5988: elif folsomIndex >= 746:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_746, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5988, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5988, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L9; }
+5989: self.folsom.forecastWYT = "AN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 5989, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5990: elif folsomIndex >= 600:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_600, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5990, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5990, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L9; }
+5991: self.folsom.forecastWYT = "BN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5991, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 5991, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+5992: elif folsomIndex >= 300:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_300, Py_GE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5992, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5992, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L9; }
+5993: self.folsom.forecastWYT = "D"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 5993, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
5994: else:
+5995: self.folsom.forecastWYT = "C"
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5995, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5995, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L9:;
+5996: elif dowy < 150:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_dowy, __pyx_int_150, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5996, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 5996, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L8; }
+5997: folsomIndex = self.folsom.S[eos_date] + (361.701 - self.folsom.fci[eos_date])
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_S); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_eos_date); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fci); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_eos_date); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_SubtractCObj(__pyx_float_361_701, __pyx_t_4, 361.701, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_folsomIndex = __pyx_t_4; __pyx_t_4 = 0;
+5998: if self.delta.forecastSRI[t] <= 5.4 and folsomIndex < 600:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_float_5_4, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L11_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_600, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5998, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 5998, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_5; __pyx_L11_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+5999: self.folsom.forecastWYT = "C"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5999, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 5999, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+6000: elif self.delta.forecastSRI[t] <= 5.4 and folsomIndex < 746:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_float_5_4, Py_LE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L13_bool_binop_done; } __pyx_t_4 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_746, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6000, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6000, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __pyx_t_5; __pyx_L13_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+6001: self.folsom.forecastWYT = "D"
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6001, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+6002: elif self.delta.forecastSRI[t] <= 5.4 and folsomIndex < 848:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_float_5_4, Py_LE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L15_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_848, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6002, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6002, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_5; __pyx_L15_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+6003: self.folsom.forecastWYT = "AN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6003, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+6004: elif self.delta.forecastSRI[t] < 7.8 and folsomIndex < 600:
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_float_7_8, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; if (__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L17_bool_binop_done; } __pyx_t_4 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_600, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6004, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6004, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_3 = __pyx_t_5; __pyx_L17_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+6005: self.folsom.forecastWYT = "D"
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6005, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (__Pyx_PyObject_SetAttrStr(__pyx_t_4, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6005, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+6006: elif self.delta.forecastSRI[t] < 7.8 and folsomIndex < 746:
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_forecastSRI); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_1, __pyx_v_t); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyObject_RichCompare(__pyx_t_4, __pyx_float_7_8, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_5) { } else { __pyx_t_3 = __pyx_t_5; goto __pyx_L19_bool_binop_done; } __pyx_t_1 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_746, Py_LT); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6006, __pyx_L1_error) __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 6006, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = __pyx_t_5; __pyx_L19_bool_binop_done:; if (__pyx_t_3) { /* … */ goto __pyx_L10; }
+6007: self.folsom.forecastWYT = "BN"
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 6007, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
6008: else:
+6009: self.folsom.forecastWYT = "W"
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6009, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_1, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 6009, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__pyx_L10:;
6010: else:
+6011: folsomIndex = (self.folsom.snowflood_fnf[t] - sum(self.folsom.fnf[(t-dowy+181):(t-dowy+211)]) + sum(self.folsom.fnf[(t-dowy+304):(t-dowy+364)]))*1000
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_t); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_fnf); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_181, 0xB5, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_211, 0xD3, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_t_2, 0, 0, &__pyx_t_6, &__pyx_t_7, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyNumber_Subtract(__pyx_t_1, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_fnf); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_7, __pyx_int_304, 0x130, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_7, __pyx_int_364, 0x16C, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = __Pyx_PyObject_GetSlice(__pyx_t_1, 0, 0, &__pyx_t_6, &__pyx_t_2, NULL, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyNumber_Multiply(__pyx_t_7, __pyx_int_1000); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6011, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_folsomIndex = __pyx_t_2;
__pyx_t_2 = 0;
+6012: if folsomIndex < 250:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_250, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6012, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6012, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+6013: self.folsom.forecastWYT = "C"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6013, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 6013, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6014: elif folsomIndex < 375:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_375, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6014, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6014, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+6015: self.folsom.forecastWYT = "D"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6015, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6015, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6016: elif folsomIndex < 460:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_460, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6016, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6016, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+6017: self.folsom.forecastWYT = "BN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6017, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 6017, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6018: elif folsomIndex < 550:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_folsomIndex, __pyx_int_550, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6018, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6018, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L21; }
+6019: self.folsom.forecastWYT = "AN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6019, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6019, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6020: else:
+6021: self.folsom.forecastWYT = "W"
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_folsom); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6021, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 6021, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L21:;
}
__pyx_L8:;
6022:
6023: ##Index for New Melones Min Flows
6024: ############################
+6025: if dowy <= 150:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_dowy, __pyx_int_150, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6025, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6025, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L22; }
+6026: eof_storage = t - dowy - 215
__pyx_t_2 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_215, 0xD7, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6026, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_eof_storage = __pyx_t_7; __pyx_t_7 = 0;
+6027: if eof_storage < 0:
__pyx_t_7 = PyObject_RichCompare(__pyx_v_eof_storage, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6027, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6027, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_3) { /* … */ }
+6028: eof_storage == 0
__pyx_t_7 = __Pyx_PyInt_EqObjC(__pyx_v_eof_storage, __pyx_int_0, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6028, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+6029: newmelonesIndex = self.newmelones.S[eof_storage] + sum(self.newmelones.fnf[(eof_storage+1):(t-dowy)])*1000
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_S); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_eof_storage); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_eof_storage, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_t_4, 0, 0, &__pyx_t_2, &__pyx_t_6, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Multiply(__pyx_t_6, __pyx_int_1000); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_7, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6029, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_newmelonesIndex = __pyx_t_6; __pyx_t_6 = 0;
6030: else:
+6031: eof_storage = t - dowy + 149
/*else*/ {
__pyx_t_6 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6031, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = __Pyx_PyInt_AddObjC(__pyx_t_6, __pyx_int_149, 0x95, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6031, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_eof_storage = __pyx_t_1;
__pyx_t_1 = 0;
+6032: newmelonesIndex = self.newmelones.S[eof_storage] + (sum(self.newmelones.fnf[(eof_storage+1):(t-dowy+181)]) + self.newmelones.snowflood_fnf[t] + sum(self.newmelones.fnf[(t-dowy+304):(t-dowy+365)]))*1000
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_S); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_eof_storage); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_fnf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_v_eof_storage, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_2 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_181, 0xB5, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_7, 0, 0, &__pyx_t_6, &__pyx_t_4, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_fnf); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_304, 0x130, 0, 0); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Subtract(__pyx_v_t, __pyx_v_dowy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_365, 0x16D, 0, 0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_4, 0, 0, &__pyx_t_7, &__pyx_t_8, NULL, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_sum, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Multiply(__pyx_t_2, __pyx_int_1000); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6032, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_newmelonesIndex = __pyx_t_2; __pyx_t_2 = 0; } __pyx_L22:;
6033:
+6034: if newmelonesIndex < 1400:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_newmelonesIndex, __pyx_int_1400, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6034, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6034, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L24; }
+6035: self.newmelones.forecastWYT = "C"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6035, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 6035, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6036: elif newmelonesIndex < 2000:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_newmelonesIndex, __pyx_int_2000, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6036, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6036, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L24; }
+6037: self.newmelones.forecastWYT = "D"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6037, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6037, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6038: elif newmelonesIndex < 2500:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_newmelonesIndex, __pyx_int_2500, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6038, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6038, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L24; }
+6039: self.newmelones.forecastWYT = "BN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 6039, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6040: elif newmelonesIndex < 3000:
__pyx_t_2 = PyObject_RichCompare(__pyx_v_newmelonesIndex, __pyx_int_3000, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6040, __pyx_L1_error) __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6040, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L24; }
+6041: self.newmelones.forecastWYT = "AN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6041, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6042: else:
+6043: self.newmelones.forecastWYT = "W"
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_newmelones); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6043, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 6043, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L24:;
6044:
6045: ##Index for Don Pedro Min Flows
6046: ############################
+6047: if self.delta.forecastSJI[t] <= 2.1:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_float_2_1, Py_LE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6047, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L25; }
+6048: self.donpedro.forecastWYT = "C"
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 6048, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+6049: self.delta.forecastSJWYT = "C"
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastSJWYT, __pyx_n_u_C) < 0) __PYX_ERR(0, 6049, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+6050: elif self.delta.forecastSJI[t] <= 2.5:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_float_2_5, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6050, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6050, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L25; }
+6051: self.donpedro.forecastWYT = "D"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6051, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6051, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6052: self.delta.forecastSJWYT = "D"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastSJWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6052, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6053: elif self.delta.forecastSJI[t] <= 3.1:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_float_3_1, Py_LE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6053, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6053, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L25; }
+6054: self.donpedro.forecastWYT = "BN"
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6054, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 6054, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+6055: self.delta.forecastSJWYT = "BN"
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6055, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastSJWYT, __pyx_n_u_BN) < 0) __PYX_ERR(0, 6055, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+6056: elif self.delta.forecastSJI[t] <= 3.8:
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_forecastSJI); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyObject_GetItem(__pyx_t_2, __pyx_v_t); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_t_8, __pyx_float_3_8, Py_LE); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6056, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6056, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L25; }
+6057: self.donpedro.forecastWYT = "AN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6057, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6058: self.delta.forecastSJWYT = "AN"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastSJWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6058, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
6059: else:
+6060: self.donpedro.forecastWYT = "W"
/*else*/ {
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_donpedro); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6060, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 6060, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+6061: self.delta.forecastSJWYT = "W"
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_delta); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6061, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (__Pyx_PyObject_SetAttrStr(__pyx_t_2, __pyx_n_s_forecastSJWYT, __pyx_n_u_W) < 0) __PYX_ERR(0, 6061, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; } __pyx_L25:;
6062:
6063:
6064: ##Index for Exchequer Min Flows
6065: ############################
+6066: if self.exchequer.snowflood_fnf[t] < .45:
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_snowflood_fnf); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_8, __pyx_v_t); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, __pyx_float__45, Py_LT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6066, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 6066, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; if (__pyx_t_3) { /* … */ goto __pyx_L26; }
+6067: self.exchequer.forecastWYT = "D"
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6067, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastWYT, __pyx_n_u_D) < 0) __PYX_ERR(0, 6067, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
6068: else:
+6069: self.exchequer.forecastWYT = "AN"
/*else*/ {
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_exchequer); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 6069, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__Pyx_PyObject_SetAttrStr(__pyx_t_8, __pyx_n_s_forecastWYT, __pyx_n_u_AN) < 0) __PYX_ERR(0, 6069, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L26:;
6070:
+6071: return newmelonesIndex
__Pyx_XDECREF(__pyx_r); __Pyx_INCREF(__pyx_v_newmelonesIndex); __pyx_r = __pyx_v_newmelonesIndex; goto __pyx_L0;
6072:
6073: